【发布时间】:2011-07-02 00:02:45
【问题描述】:
我让 Fiddler2 在 0.0.0.0:8888 上监听。
try:
data = ''
proxy = urllib2.ProxyHandler({'http': '127.0.0.1:8888'}) //also tried {'http': 'http://127.0.0.1:8888/'}
opener = urllib2.build_opener(proxy)
urllib2.install_opener(opener)
req = urllib2.Request('http://www.google.com')
response = urllib2.urlopen(req)
the_page = response.read()
print the_page
except Exception, detail:
print "Err ", detail
我在 Fiddler 中没有看到 GET 或任何对 google 的请求(但我可以看到其他请求) 有没有办法调试它?似乎python绕过了Fiddler或忽略了代理。
我还配置了 WinHTTP 以使用 Fiddler -
C:\Windows\system32>netsh winhttp set proxy 127.0.0.1:8888
Current WinHTTP proxy settings:
Proxy Server(s) : 127.0.0.1:8888
Bypass List : (none)
向 SSL 地址请求是否重要? (Fiddler 支持 https)
谢谢!
【问题讨论】:
-
只要确保您能够通过浏览器上的代理与 Internet 通信。您是否还设置了任何身份验证?你的代码抛出了什么异常?
-
我看到我的浏览器发送和接收的许多请求\答案。我没有得到任何异常,代码正在运行,我只是在 fieddler 上看不到请求。有没有一种方法可以让我看到 urllib2 中发生了什么?调试它在做什么。
-
为了检查代码是否正在使用 porxy,我已将 fieddler 更改为需要代理身份验证,并且在浏览时我必须在浏览器上使用用户\密码,再次运行 python 代码工作,所以它挑衅地不使用代理。
标签: python proxy urllib2 fiddler