我正在使用Python和urllib2来发出POST请求,我让它成功运行。但是,当我一个接一个地发出几个帖子时,我得到了错误502代理。我们公司代理我们,但由于我在内部工作,所以我没有设置代理。有没有办法获得使用urllib2和Python如何路由POST请求的跟踪路径?
由于
答案 0 :(得分:0)
我不确定你的“追踪路线”是什么意思。 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
会告诉您是否有重定向等。请阅读the docs获取所有可用信息。
同时,如果您不想要代理,您可以禁用所选的urllib2
设置自动配置代理的设置(例如unset http_proxy
在运行脚本之前),覆盖默认处理程序链以确保没有ProxyHandler
,构建显式OpenerDirector
而不是使用默认值,等等。