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

时间:2015-02-10 18:45:50

标签: python geolocation ip-geolocation

这是我的情景。我希望能够在python中编写一个脚本,当输入一个IP地址时,它看起来在一个API上的ip地址,并返回结果。任何人都可以告诉我一个良好的工作查找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的数据库非常小,无法返回多个位置。

2 个答案:

答案 0 :(得分:0)

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

简单代码示例:

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

答案 1 :(得分:0)

您可以查看userinfo.io

发出GET http://api.userinfo.io/userinfos将返回您要求的所有信息。您还可以在参数中指定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"
  }
}