2010-11-25 2 views
2

Для проекта колледжа для моего курса «Введение в программирование» я решил создать небольшое программное обеспечение, которое отслеживает IP-адрес и красиво помещает его в графический интерфейс (PyQt). Не знаю, что я знаю, но мне нравится идея.Отслеживание IP-адреса в Python

Итак, я разобрался и нашел IP-адрес MaxMind и их бесплатное предложение и pygeoip, который является API-интерфейсом для баз данных MaxMind GeoIP. Довольно круто, а!

Но недостатком является то, что для запроса своей базы данных мне необходимо загрузить отдельные базы данных для города страны. Это не очень хорошая причина, я должен заставить конечного пользователя загружать дополнительные файлы (в МБ) только для поиска IP-адреса.

Так что мне интересно, есть ли другой способ сделать это? Как отслеживать IP-адреса? Обратите внимание, что мне нужно, чтобы они были до уровня города, если это возможно. Что-то вроде этого парня aruljohn.com/track.pl

Спасибо!

ответ

2

Я бы предпочел «pygeoip», потому что он позволяет вам разрабатывать полное решение локально. Конечно, вам нужно будет хранить базу данных.

Если вы не хотите локально хранить базу данных, вам необходимо будет зависеть от внешней службы для запроса местоположения IP. Это будет поддерживать ваше решение небольшим, но в зависимости от этой службы.

Для этого проверьте: ipinfodb.com

Они обеспечивают JSON и XML API, интерфейс, который должен быть достаточно легко построить.

Отъезд более подробную информацию по адресу: http://ipinfo.info/html/geolocation_2.php

+0

Проблема с локальным решением заключается в том, что я хочу распространять свое приложение среди своих друзей, и я действительно не хочу, чтобы они загружали базы данных, чтобы искать IP-адреса. Надеюсь, вы понимаете мою мысль. Я собираюсь проверить ссылку и, возможно, изучить JSON в этом процессе;) Спасибо! – user225312 2010-11-25 17:50:53

+0

@Brian: Да, я бы предпочел JSON API, но для начала вы можете использовать XML API, чтобы хотя бы проверить воды. Смотрите, если это сработает для вас. – pyfunc 2010-11-25 17:52:55

1

У меня есть даже лучшая идея. Почему бы вам не сделать очень простое веб-приложение, которое будет реально смотреть вверх; и ваш клиент PyQt выполнит HTTP-запрос на это. Или, может быть, в этом случае вам даже не нужен клиент. Просто создайте веб-страницу, чтобы получить IP-адрес и показать город.

Смежные вопросы