【问题标题】:IP address of domain on shared host共享主机上域的 IP 地址
【发布时间】:2010-05-27 20:40:16
【问题描述】:

我在共享托管服务提供商上拥有域。如何使用 Python 找到我的域的直接 IP 地址?

是否可以使用 IP 地址而不是网站本身发布到我的域上的脚本?

谢谢。

【问题讨论】:

    标签: python cgi


    【解决方案1】:
    1. 我猜 IP 应该是静态的,所以您真的需要多次查找它吗?

    2. 如果您没有专用 IP 或您的主机是该网络服务器的默认主机,您需要指定域名,以便网络服务器知道要使用哪个主机配置

    【讨论】:

    • 使用urllib2如何指定域名:urllib2.urlopen('101.21.00.01')
    【解决方案2】:
    import socket
    socket.gethostbyname("www.stackoverflow.com")
    '69.59.196.211'
    

    将为您提供域的 IP 地址(作为字符串)。

    但是,如果它是共享主机,我认为您不太可能通过 ip 访问您的主机 - 很可能您将拥有类似 Apache's VirtualHost Directive 的东西,这将您限制为只能“看到”对您的域的请求。某些默认配置将处理对 IP 地址的请求。

    很大程度上取决于您的托管性质。

    【讨论】:

    • 感谢代码,但我如何指定请求的域名? Urllib2 将允许我指定 IP 地址,但它允许域名吗?
    【解决方案3】:

    一个奇怪的请求......

    要查找域名,请执行以下操作:

    import socket
    ipaddress = socket.gethostbyname('www.bbc.co.uk')
    

    关于发布到 IP 地址: 我认为它不会以正常方式运行(例如从浏览器中),因为该地址下可能会有很多网站。

    但是,如果您将客户端套接字连接到站点的 IP 地址,但仍然在 HTTP 主机请求标头中发送网站名称,我想您可以使用编程语言(例如 Python)以非常手动的方式进行操作.

    我不知道这是否提出了比它回答的问题更多的问题,而且我不知道您为什么要执行上述任一操作,但确实如此。

    祝你好运!

    【讨论】:

    猜你喜欢
    • 2012-02-07
    • 2017-09-23
    • 2017-04-13
    • 1970-01-01
    • 2018-11-29
    • 1970-01-01
    • 1970-01-01
    • 2017-10-18
    • 1970-01-01
    相关资源
    最近更新 更多