python爬虫
1811 浏览 6 years, 2 months
1 工具
版权声明: 转载请注明出处 http://www.codingsoho.com/Fiddler
Python默认不用代理,所以fiddler不能截取它的包。如果想用用fiddler来分析Python的网络访问,需要在Python编程里面设置代理
Python does not use proxy by default, so fiddler cannot intercept its network traffic. You may need to change the Python program a little. Here is another thread on how to see proxy for Python programs.
Fiddler基本原理
Fiddler启动后将自己变成一个代理服务器,这个代理服务器默认监听127.0.0.1:8888.然后打开IE的时候,IE浏览器会以127.0.0.1:8888做为自己默认的http代理设置,见下图:
Filter 过滤
方法1:
- 切换到右侧的Filter选项卡
- 勾选Use Filter
- 选择被监控的地址,注意:这个地方输入的域名要跟左边显示的Host列的一致
“No Host Filter”不设置hosts过滤
“Hide The Following Hosts”隐藏过滤到的域名
“Show Only The Following Hosts”只显示过滤到的域名
“Flag The Following Hosts”标记过滤到的域名 - 输入需要过滤的域名,多个域名使用”;“分号分割。fiddler默认会检查http头中设置的host,强制显示http地址中的域名。
- 运行“Run Filter Now”即可执行过滤
方法2
根据需要找到request headers或者response headers区域
- 勾选“Set request header”
- 设置host
参考:
- Fiddler 如何捕获Python3中的Http访问
- fiddler-doesnt-capture-python-http-request & Proxy with urllib2
- Fiddler 教程
- Fiddler过滤指定域名
HTTPS & Tunnel To 443
【Tools】->【Fiddler Options】->【HTTPS】
【Rules】-【Hide CONNECTIONs】
常见问题
[Fiddler] The connection to the upstream proxy/gateway failed. Closing Fiddler, changing your system proxy settings, and restarting Fiddler may help. System.Exception Upstream Gateway refused requested CONNECT. 407
打开Fiddler之后,默认的IE代理会被改掉,之前我用的是“Use automatic configuration script”
Fiddler运行后变成下面的代理设置
解决方案如下
【Tools】-> 【Telerik Fiddler Options】,选中Gateway属性页 ,可以选择默认的“Use System Proxy”或者“Manual Proxy Configuration”来设置代理
有些网站设了之后还是不行,比如Oracle
参考文档