这是我的情景。我希望能够在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的数据库非常小,无法返回多个位置。
答案 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"
}
}