urllib2 - 如果您已经知道IP,请获取资源

时间:2012-03-25 09:36:57

标签: python httprequest urllib2

在我的python脚本中,我正在获取页面,但我已经知道服务器的IP。 所以我可以省去做DNS查询的麻烦,如果我可以在请求中传递IP和主机名。

所以,如果我打电话 http://111.111.111.111/ 然后在HOST属性中传递主机名,我应该没问题。然而,我看到的问题是在服务器端,如果用户查看了incomming请求(即REQUEST_URI),那么他们会看到我去了IP。

有人有什么想法吗?

2 个答案:

答案 0 :(得分:0)

首先,主要想法是可疑的。好吧,你可以“知道”服务器的IP,但这种知识是暂时的,其正确性时间由DNS TTL控制。对于稳定配置,服务器管理员可以提供具有长TTL(例如几天)的DNS记录,因此将始终使用最近的缓存解析器或nscd来满足DNS请求。对于更改配置,TTL可以减少到几秒或永远为0(意味着没有缓存),它对某种负载平衡器很有用。您尝试组织自己的解析器缓存,这是TTL无知的,这可能导致对不正常或错误的服务器的请求,内容不正确。所以,我建议不要这样做。

如果您确定要执行此操作而不能使用外部工具作为自定义解析程序甚至/ etc / hosts,请尝试安装自定义“opener”(请参阅​​文档中的urllib2.build_opener()函数) DNS查找。但是我从来没有这样做过,知识只是刚刚阅读的文档。

答案 1 :(得分:0)

您可以将IP地址映射添加到hosts文件。