【问题标题】:Alternate host/IP for python scriptpython 脚本的备用主机/IP
【发布时间】:2010-07-06 05:08:44
【问题描述】:

我希望我的 Python 脚本通过脚本中指定的 IP 访问 URL,而不是通过域的默认 DNS。基本上,我想要在 /etc/hosts 文件中添加一个条目,但我希望更改仅应用于我的脚本,而不是全局应用于整个服务器。有什么想法吗?

【问题讨论】:

    标签: python dns urllib hosts


    【解决方案1】:

    这是否有效取决于远端站点是否使用基于 HTTP/1.1 命名的虚拟主机。

    如果不是,您可以根据@Greg 的回答简单地将 URL 的主机名部分替换为他们的 IP 地址。

    但是,如果是,您必须确保正确的 Host: 标头作为 HTTP 请求的一部分发送。没有它,虚拟主机 Web 服务器将不知道要为您提供哪个站点的内容。请参阅您的 HTTP 客户端 API(Curl?)以查看是否可以添加或更改默认请求标头。

    【讨论】:

      【解决方案2】:

      您可以使用显式 IP 号码通过将其嵌入 URL 来连接到特定机器:http://127.0.0.1/index.html 等效于 http://localhost/index.html

      也就是说,使用 IP 号码代替 DNS 条目并不是一个好主意。 IP 比 DNS 条目更频繁地更改,这意味着如果您对地址进行硬编码而不是让它正常解析,您的脚本更有可能被破坏。

      【讨论】:

        猜你喜欢
        • 2020-09-22
        • 2012-07-28
        • 1970-01-01
        • 2014-01-10
        • 1970-01-01
        • 2021-11-26
        • 2015-01-02
        • 2021-06-24
        • 2020-12-08
        相关资源
        最近更新 更多