我需要帮助为提琴手编写脚本。我需要的是每次在会话窗口中出现时自动保存某个响应正文。
我试图按照这篇Fiddler脚本-SaveResponseBody()中的说明进行操作,但是当我尝试保存CustomRules.js时出现错误。(我可能在错误或错误的位置插入)
我对Fiddler和脚本是陌生的,因此在这里的任何帮助将不胜感激。
我尝试添加以下内容:
static function OnBeforeResponse(oSession: Session) {
if(oSession.url.EndsWith(".png")) {
oSession.SaveResponseBody(); //Actual content of OnBeforeResponse function.
}
}
Run Code Online (Sandbox Code Playgroud)
然后添加以下内容:
if ((oSession.responseCode == 200) &&
oSession.oResponse.headers.ExistsAndContains("Content-Type", "image/png")) {
SaveResponseBody("C:\\temp\\" + oSession.SuggestedFilename);
}
Run Code Online (Sandbox Code Playgroud)
到CustomRules.js脚本。
SaveResponseBody是oSession对象上的方法。
oSession.SaveResponseBody("C:\\temp\\" + oSession.SuggestedFilename);
Run Code Online (Sandbox Code Playgroud)
请务必在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");
}
}
Run Code Online (Sandbox Code Playgroud)
文件名将采用以下格式:
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
Run Code Online (Sandbox Code Playgroud)