在Fiddler中,如果它的主体包含特定单词,是否有办法阻止响应?
如果Fiddler能够做到这一点(可能通过FiddlerScript
?),那真是棒极了。否则,如果有其他工具会更好,我很乐意听到它。
在What is the best way to block specific URL for testing?处提出了一个类似的问题,但就我而言,我并不想完全阻止URI,而只是阻止来自该URI的某些响应,所以答案不适用。
在FiddlerScript中,似乎有一个名为utilFindInResponse
的函数,它可能会被合并到OnBeforeResponse
中:
static function OnBeforeResponse(oSession: Session) {
...
if (oSession.utilFindInResponse("WordToBlock", false) > -1){
oSession.responseCode = "404";
}
}
这是寻找特定单词的响应阻止程序的正确方法吗?
答案 0 :(得分:2)
是的,您已走上正轨,但在尝试搜索之前,您应该确保所讨论的回复是HTML(或您期望的任何文字格式)。
static function OnBeforeResponse(oSession: Session) {
if (oSession.oResponse.headers.ExistsAndContains("Content-Type", "text/"))
{
oSession.utilDecodeResponse();
if (oSession.utilFindInResponse("WordToBlock", false) > -1)
{
oSession.responseCode = 404;
oSession.utilSetResponseBody("blocked");
}
}
}
另外,请记住,必须禁用Streaming选项(请参阅Fiddler工具栏),以使此代码按预期工作。