Fidder HTTPS抓包失败问题解决办法-老D

如果抓取app,抓取普通的HTTP是正常的,但是抓取HTTPS会报错,具体错误如下:

fter the client received notice of the established CONNECT, it failed to send any data!

问题原因: fidder代理默认有 Connection: close

解决办法:

1、下载fiddler的脚本编辑器,下载地址如下:

http://www.telerik.com/download/fiddler/fiddlerscript-editor

安装以后重启,对脚本进行修改。

2、修改Fiddler的脚本,进行如下更改:

解决方法:(将 Connection: close 去除)

1
2
3
4
5
6
7
8
9
10
11
12
static function OnBeforeResponse(oSession: Session) {
if (m_Hide304s && oSession.responseCode == 304) {
oSession["ui-hide"] = "true";
}
if (oSession.HTTPMethodIs("CONNECT") && oSession.responseCode == 200)
{
if (oSession.oResponse.headers.ExistsAndEquals("Connection", "close"))
{
oSession.oResponse.headers.Remove("Connection");
}
}
}

修改好以后,就可以抓HTTPS了

 

參考文档:http://www.telerik.com/forums/ssl-negotiation-doesn’t-initiate-for-some-traffic