我有一个简单的 Python 脚本,可以获取域的 IP 并使用 Maxmind 查找国家/地区。我希望该脚本还可以获取托管该 IP/站点的网络托管公司。这可能吗,如果可以,怎么办?我已经搜索了这个网站和其他地方,但运气不佳。
user1806555
问问题
1581 次
3 回答
5
>>> import socket
>>> socket.gethostbyaddr("69.59.196.211")
('stackoverflow.com',['211.196.59.69.in-addr.arpa'],['69.59.196.211'])
于 2012-11-07T15:30:19.193 回答
1
如果您想获取 IP(而不是 DNS 名称)后面的组织名称(AS 编号/名称):
>>> import pygeoip
>>> ai = pygeoip.GeoIP('GeoIPASNum.dat', pygeoip.MEMORY_CACHE)
>>> ip = '1.1.1.1'
>>> asn = ai.org_by_addr(ip)
>>> print asn
AS15169 Google Inc.
-- ab1
于 2013-09-13T17:07:57.323 回答
1
如果您对调用第 3 方服务的延迟没意见,您可以使用http://ipinfo.io API(我的服务),它会返回地理位置和公司信息,例如:
$ curl ipinfo.io
{
"ip": "67.188.232.131",
"hostname": "c-67-188-232-131.hsd1.ca.comcast.net",
"city": "Mountain View",
"region": "California",
"country": "US",
"loc": "37.4192,-122.0574",
"org": "AS7922 Comcast Cable Communications, Inc.",
"postal": "94043"
}
这是一个使用优秀requests
库的简单 python 示例:
>>> import requests
>>> r = requests.get('http://ipinfo.io/67.188.232.131/json')
>>> r.json['org']
u'AS7922 Comcast Cable Communications, Inc.'
>>> r.json['city']
u'Mountain View'
有关更多详细信息,请查看http://ipinfo.io/developers
于 2014-09-03T01:24:34.430 回答