我正在使用Python和urllib2发出POST请求,并且我让它成功工作。但是,当我一个接一个地发布多个帖子时,有时会收到错误 502 代理正在使用中。我们公司为我们代理,但我没有设置为点击代理,因为我在内部工作。有没有办法使用 urllib2 和 Python 获取 POST 请求如何路由的跟踪路由?
谢谢
我不确定你所说的"跟踪路线"是什么意思。traceroute
是一个IP的东西,比HTTP低两个级别。我怀疑你想要这样的东西。您可以使用通用嗅探器或更简单地说,只需询问urllib2
,即可了解是否有任何重定向,是否使用了代理等。
例如,假设您的代码如下所示:
url = 'http://example.com'
data = urllib.urlencode({'spam': 'eggs'})
req = urllib2.Request(url, data)
resp = urllib2.urlopen(req)
respdata = resp.read()
然后req.has_proxy()
会告诉你它是否会使用代理,resp.geturl() == url
会告诉你是否有重定向,等等。 阅读文档以获取所有可用信息。
同时,如果您不想要代理,您可以禁用urllib2
选择的任何设置,使其自动配置代理(例如,在运行脚本之前unset http_proxy
),覆盖默认处理程序链以确保没有ProxyHandler
,构建显式OpenerDirector
而不是使用默认等。