【问题标题】:urllib2 in Python 2.6.4: Any way to override windows hosts file?Python 2.6.4 中的 urllib2:有什么方法可以覆盖 Windows 主机文件?
【发布时间】:2011-02-03 21:04:58
【问题描述】:

我正在使用在 Windows XP 中运行的 Python 2.6.4 中的 urllib2 模块来访问 URL。我正在发出一个不涉及 cookie 或 https 或任何太复杂的东西的发布请求。域在我的 C:\WINDOWS\system32\drivers\etc\hosts 文件中重定向。但是,我希望来自 urllib2 的请求转到“真实”域并忽略 hosts 文件中的条目。有什么简单实用的方法吗?

我希望请求中包含域名,例如:

GET www.example.com/foo.html

而不是

GET 123.45.67.89/foo.html

如果您愿意,请忘记最后一部分。我不需要对标题中的内容那么具体。

【问题讨论】:

    标签: python windows ip urllib2 hosts


    【解决方案1】:

    连接到 IP 地址并手动传递 Host 标头。

    【讨论】:

    • 但是你怎么知道IP呢? (假设它没有硬编码 - 或者是吗?)你不能使用常规的 gethostbyname 调用,因为它再次使用主机文件......
    • 您可以使用单独的 DNS 客户端来查找它……当然,这直接导致了一个问题:什么 DNS 服务器?
    • 如果域名需要进入请求头怎么办?查看我的编辑。
    • 对于单独的 DNS 客户端,请参阅 dnspython。
    • 这有点聪明......它如何适用于 HTTPS 等协议?
    猜你喜欢
    • 1970-01-01
    • 2012-02-28
    • 1970-01-01
    • 2019-12-15
    • 1970-01-01
    • 1970-01-01
    • 2014-10-02
    • 1970-01-01
    相关资源
    最近更新 更多