【问题标题】:Tracing an IP address in Python在 Python 中跟踪 IP 地址
【发布时间】:2011-05-15 20:11:21
【问题描述】:

对于我的编程入门课程的大学项目,我决定制作一个跟踪 IP 地址并将它们很好地放在 GUI (PyQt) 上的小软件。我知道没什么大不了的,但我仍然喜欢这个主意。

所以我在 Google 上四处搜索,发现 MaxMind 的 IP 及其免费产品和 pygeoip,这是 MaxMind GeoIP 数据库的 API。很酷,嗯!

但缺点是要查询他们的数据库,我必须下载乡村城市的各个数据库。这不好,因为我必须让最终用户下载其他文件(以 MB 为单位)只是为了查找 IP 地址。

所以我想知道,还有其他方法吗?如何跟踪 IP 地址?请注意,如果可能的话,我需要将它们降到城市级别。像这个家伙 aruljohn.com/track.pl

谢谢!

【问题讨论】:

    标签: python ip-address


    【解决方案1】:

    我更喜欢“pygeoip”,因为它允许您在本地开发完整的解决方案。当然,您需要保留数据库。

    如果您不想将数据库保存在本地,则必须依赖外部服务来查询 IP 的位置。这将使您的解决方案保持较小但依赖于此服务。

    查看:ipinfodb.com

    它们提供 JSON 和 XML API 接口,应该足够容易构建。

    查看更多信息:http://ipinfo.info/html/geolocation_2.php

    【讨论】:

    • 本地解决方案的问题是我想在我的朋友中分发我的应用程序,我真的不希望他们下载数据库只是为了查找 IP 地址。我希望你明白我的意思。我将查看链接,并可能在此过程中学习 JSON ;) 谢谢!
    • @Brian:是的,我更喜欢 JSON API,但要开始使用,您至少可以使用 XML API 来试水。看看,如果这对你有用。
    • 但是您希望他们下载您的应用程序,可能连同 Qt 和 Python... :)
    【解决方案2】:

    我有更好的主意。你为什么不做一个非常简单的网络应用程序,它会做实际的查找;你的 PyQt 客户端会向它发出 HTTP 请求。或者在这种情况下,您甚至不需要客户。只需制作一个网页即可获取 IP 地址并显示城市。

    【讨论】:

    • 我不想涉及网络浏览器。
    • 然后制作客户端和服务器。顺便说一句,Apache 和 Lighttpd 都有地理定位模块。您只需将位置返回给您的客户。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-17
    • 1970-01-01
    • 1970-01-01
    • 2020-09-26
    • 2017-11-12
    • 2014-06-01
    • 1970-01-01
    相关资源
    最近更新 更多