什么 API、包或库最容易找到 IP 地址的位置?

What API, package or library is easiest to find the location of an IP address?

这是我的场景。我希望能够在 python 中编写一个脚本,当输入 IP 地址时,它会在 API 上查找该 ip 地址,结果是 return。任何人都可以用代码告诉我一个很好的工作查找 API 吗?例如这是 hostip:

import urllib

response = urllib.urlopen('http://api.hostip.info/get_html.php?ip=12.215.42.19&position=true').read()

print(response)

但是 hostIP 的数据库非常小,不能 return 很多位置。

我在 freegeoip.net 方面取得了巨大的成功。他们提供 public(免费)API,或者您可以 运行 在您自己的服务器上。

简单代码示例:

import urllib
response = urllib.urlopen('http://freegeoip.net/json/1.2.3.4').read()
print(response)

你可以看看userinfo.io

发布 GET http://api.userinfo.io/userinfos 将 return 为您提供所需的所有信息。也可以在参数中指定IP地址:GET http://api.userinfo.io/userinfos?ip_address=888.888.888.888.

响应看起来像这样:

{
  request_date: "2014-09-18T04:11:25.154Z",
  ip_address: "192.77.237.95",
  position: {
    latitude: 37.7758,
    longitude: -122.4128,
    accuracy: 3   // This is the accuracy radius, in kilometers
  },
  continent: {
    name: "North America",
    code: "NA",
  },
  country: {
    name: "United States",
    code: "US",
  },
  city: {
    name: "San Francisco",
    code: "94103"
  }
}