Python urllib2跟踪路由

时间:2014-01-24 01:16:13

标签: python network-programming urllib2

我正在使用Python和urllib2来发出POST请求,我让它成功运行。但是,当我一个接一个地发出几个帖子时,我得到了错误502代理。我们公司代理我们,但由于我在内部工作,所以我没有设置代理。有没有办法获得使用urllib2和Python如何路由POST请求的跟踪路径?

由于

1 个答案:

答案 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而不是使用默认值,等等。