阻止身体符合某些条件的响应

时间:2015-10-07 23:25:54

标签: fiddler

在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";
    }
}

这是寻找特定单词的响应阻止程序的正确方法吗?

1 个答案:

答案 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工具栏),以使此代码按预期工作。