2010-11-25 133 views
2

對於我的課程介紹編程的大學項目,我決定製作一個跟蹤IP地址的小軟件,並將它們很好地放在GUI(PyQt)上。沒有什麼大不了的,但我仍然喜歡這個主意。在Python中追蹤IP地址

所以我搜索了一下,找到了MaxMind的IP和他們的免費產品以及pygeoip,它是MaxMind GeoIP數據庫的API。很酷,呃!

但缺點是要查詢他們的數據庫,我必須下載個別數據庫的國家城市。這不是很好,因爲我必須讓最終用戶下載其他文件(以MB爲單位)來查找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地址並顯示城市。