我需要帮助为fiddler编写脚本。我需要的是每次在会话窗口中出现时自动保存某个响应主体。
我已尝试按照此帖Fiddler Script - SaveResponseBody()中的说明操作,但在尝试保存CustomRules.js时出现错误。 (我可能插入错误或错误的地方)
我是小提琴手和剧本的新手,所以任何帮助都会非常感激。
我尝试添加此内容:
static function OnBeforeResponse(oSession: Session) {
if(oSession.url.EndsWith(".png")) {
oSession.SaveResponseBody(); //Actual content of OnBeforeResponse function.
}
}
然后添加:
if ((oSession.responseCode == 200) &&
oSession.oResponse.headers.ExistsAndContains("Content-Type", "image/png")) {
SaveResponseBody("C:\\temp\\" + oSession.SuggestedFilename);
}
到CustomRules.js脚本。
答案 0 :(得分:5)
SaveResponseBody是oSession对象上的一个方法。
oSession.SaveResponseBody("C:\\temp\\" + oSession.SuggestedFilename);
答案 1 :(得分:4)
请务必在 OnBeforeResponse(oSession:Session){...} 功能中添加您的代码
以下代码将保存包含“procedimentoservice”的任何url的请求和响应正文以及与OK(200)不同的响应代码。
if (oSession.PathAndQuery.ToLower().Contains("procedimentoservice"))
{
if(oSession.responseCode != 200)
{
var directory2 = "C:\\log\\NEXT\\";
var filename2 = oSession.oRequest.headers['SOAPAction'].ToString().Replace('"','') + "_" + Guid.NewGuid();
var path2: String = System.IO.Path.Combine(directory2, filename2);
oSession.SaveRequestBody(path2 + "_request.txt");
oSession.SaveResponseBody(path2 + "_response.txt");
}
}
文件名将采用以下格式:
c:\log\NEXT\CriarEvento_fa15709e-b2a8-402d-a623-e4f01e6e8ae1_request.txt
c:\log\NEXT\CriarEvento_fa15709e-b2a8-402d-a623-e4f01e6e8ae1_response.txt
c:\log\NEXT\CriarEvento_ff650cf8-8fe6-47a2-8552-a4d8bce246f3_request.txt
c:\log\NEXT\CriarEvento_ff650cf8-8fe6-47a2-8552-a4d8bce246f3_response.txt