我的代码:
proxy = urllib2.ProxyHandler({'http': '127.0.0.1:8888'})
opener = urllib2.build_opener(proxy)
urllib2.install_opener(opener)
f = urllib2.urlopen('http://www.google.com')
print f.read()
这个请求没有显示在Fiddler的捕获中,是否有人知道如何配置Fiddler以便捕获请求?
编辑:请求有效,我可以看到内容。此外,如果我关闭Fiddler,请求会失败,正如预期的那样,因为没有代理。只是我在Fiddler看不到任何东西。
EDIT2:我看到了我编写的.NET测试控制台应用程序的流量。但我没有看到来自我的python脚本的流量。
答案 0 :(得分:5)
当fiddler2
打开时,我得到了完全相同的问题,即使我改变了
proxy = urllib2.ProxyHandler({'http': 'http://asdfl.com:13212/'})
(没有现有的代理服务器),它仍然可以获取页面内容,我想可能是fiddler2
设置代理服务器时,urllib2
完全忽略ProxyHandler
由于某种原因,仍然无法弄明白。
我知道了,在stackoverflow中检查该线程: urllib2 doesn't use proxy (Fiddler2), set using ProxyHandler
在Fiddler2中,转到页面Tools->Fiddler Options ...->Connections
,从“IE should bypass Fiddler for ...
”字段中的值中删除尾随分号,然后重新启动Fiddler2。
这个解决方案解决了我的问题,希望能帮助别人,如果你正在努力解决它。