可以直接使用下面这个软件实现功能
保存请求报文
打开请求前事件函数里
添加如下代码保存内容到本地D盘if (oSession.fullUrl.Contains("api.huoshan.com")){
var fso;
var file;
fso = new ActiveXObject("Scripting.FileSystemObject");
//文件保存路径,可自定义
file = fso.OpenTextFile("D:\\Sessions.txt",8 ,true, true);
file.writeLine("Request url: " + oSession.url);
file.writeLine("Request header:" + "\n" + oSession.oRequest.headers);
file.writeLine("Request body: " + oSession.GetRequestBodyAsString());
file.writeLine("\n");
file.close();
}
保存响应内容到本地
打开响应的事件函数
添加如下代码//过滤无关请求,只关注特定请求
if (oSession.fullUrl.Contains("api.huoshan.com"))
{
oSession.utilDecodeResponse();//消除保存的请求可能存在乱码的情况
var fso;
var file;
fso = new ActiveXObject("Scripting.FileSystemObject");
//文件保存路径,可自定义
file = fso.OpenTextFile("D:\\Sessions.txt",8 ,true, true);
file.writeLine("Response code: " + oSession.responseCode);
file.writeLine("Response body: " + oSession.GetResponseBodyAsString());
file.writeLine("\n");
file.close();
}
把数据POST到其它地方//把内容通过ajax http发送其它地方
var _xhr = new ActiveXObject('Microsoft.XMLHTTP');
var url = 'http://huoshan.loc/';
//发送的数据参数
var param = {
a: oSession.GetResponseBodyAsString(),
b: 'bbbbbbbbb'
};
var par = '';
for (var i in param) {
var _data = escape(param[i]);
par += par ? ("&" + i + "=" + _data) : (i + "=" + _data);
}
//不需要返回值所以写啦个空回调
_xhr.onreadystatechange = function() {}
_xhr.open('POST', url, true);
_xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
_xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
_xhr.send(par);
另一种方法直接构造一个原数据请求头// methods
var method = "POST";
var url = "http://huoshan.loc/?a=responsedata";
var protocol = "HTTP/1.1";
var raw="";
var selected: Session = oSession;
raw += method + " " + url + " " + protocol + "\r\n";
FiddlerApplication.Log.LogString(raw);
// headers
raw +="Host:huoshan.loc\r\n";
raw +="Connection: keep-alive\r\n";
raw +="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8\r\n";
raw +="User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36\r\n";
raw +="Accept-Encoding: gzip,deflate,sdch\r\n";
raw +="Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.6,en;q=0.4\r\n";
raw +="Content-Type: application/x-www-form-urlencoded\r\n";
// body
var body= "jsondata="+escape(oSession.GetResponseBodyAsString())+"&url="+escape(oSession.url);
raw += "\r\n" + body;
FiddlerApplication.Log.LogString(raw);
FiddlerObject.utilIssueRequest(raw);