提琴手脚本 - SaveResponseBody()

时间:2014-01-17 06:57:37

标签: fiddler

我想将随某些网页一起加载的所有png图像保存到单独的文件夹中。 我在Fiddler脚本[CustomRules.js]中使用下面的代码。

static function OnBeforeResponse(oSession: Session)
{
if(oSession.url.EndsWith(".png"))    
{
oSession.SaveResponseBody();
}
//Actual content of  OnBeforeResponse function.
}

问题在于,我无法找到任何保存在程序文件/文档中的图像。

“SaveResponseBody()”将在何处保存HTTP响应正文?

我们可以提供自己的自定义文件夹吗?

我的Fiddler版本是(v4.4.5.6)

1 个答案:

答案 0 :(得分:2)

默认SaveResponseBody()方法将文件保存到\Documents\Fiddler2\Captures\文件夹。如果要使用其他名称,请使用接受文件名的重载。您应该检查Response的状态代码是200,以确保您没有尝试保存不包含正文的HTTP / 304响应。此外,您可能希望检查响应的类型,而不是查看URL。

所以你最终得到这样的东西:

if ((oSession.responseCode == 200) && 
   oSession.oResponse.headers.ExistsAndContains("Content-Type", "image/png")) 
{ 
  SaveResponseBody("C:\\temp\\" + oSession.SuggestedFilename);
}

注意:手动执行此操作的方法是转到Web会话列表下方的QuickExec框,键入select png并按Enter键,然后单击文件>出口>选定的会话>原始文件。