【问题标题】:Get hosting provider for IP with Python使用 Python 获取 IP 托管服务提供商
【发布时间】:2012-10-27 16:35:03
【问题描述】:

我有一个简单的 Python 脚本,它可以获取域的 IP 并使用 Maxmind 查找国家/地区。我希望该脚本还可以获取托管该 IP/站点的网络托管公司。这可能吗,如果可以,怎么办?我已经搜索了这个网站和其他地方,但运气不佳。

【问题讨论】:

    标签: python ip hosting


    【解决方案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"
    }
    

    这是一个简单的 python 示例,它使用了出色的 requests 库:

    >>> 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

    【讨论】:

      【解决方案2】:

      如果您想获取 IP 后面的组织名称(AS 编号/名称)(而不是 DNS 名称):

      >>> 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

      【讨论】:

        【解决方案3】:
        >>> import socket
        >>> socket.gethostbyaddr("69.59.196.211")
        

        ('stackoverflow.com', ['211.196.59.69.in-addr.arpa'], ['69.59.196.211'])

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-11-14
          • 2013-11-24
          • 2021-10-12
          • 2018-08-24
          • 2020-04-22
          • 2020-05-03
          相关资源
          最近更新 更多