阻止正文符合某些条件的响应
Blocking a response whose body matches some condition
在 Fiddler 中,如果正文包含特定单词,是否可以阻止响应?
如果 Fiddler 能够做到这一点(可能通过 FiddlerScript
?),那就太棒了。否则,如果有其他更好的工具,我很想听听。
在 What is the best way to block specific URL for testing? 上有人提出了类似的问题,但就我而言,我不想完全阻止 URI,而是只阻止 certain 响应URI,因此该答案不适用。
可能的线索
在 FiddlerScript 中,似乎有一个名为 utilFindInResponse
的函数,可以像这样合并到 OnBeforeResponse
中:
static function OnBeforeResponse(oSession: Session) {
...
if (oSession.utilFindInResponse("WordToBlock", false) > -1){
oSession.responseCode = "404";
}
}
这是解决搜索特定词的响应拦截器的正确方法吗?
是的,您走在正确的轨道上,但在尝试搜索之前,您可能应该确保所讨论的响应是 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");
}
}
}
此外,请记住,必须禁用流式传输选项(请参阅 Fiddler 的工具栏),此代码才能按预期工作。
在 Fiddler 中,如果正文包含特定单词,是否可以阻止响应?
如果 Fiddler 能够做到这一点(可能通过 FiddlerScript
?),那就太棒了。否则,如果有其他更好的工具,我很想听听。
在 What is the best way to block specific URL for testing? 上有人提出了类似的问题,但就我而言,我不想完全阻止 URI,而是只阻止 certain 响应URI,因此该答案不适用。
可能的线索
在 FiddlerScript 中,似乎有一个名为 utilFindInResponse
的函数,可以像这样合并到 OnBeforeResponse
中:
static function OnBeforeResponse(oSession: Session) {
...
if (oSession.utilFindInResponse("WordToBlock", false) > -1){
oSession.responseCode = "404";
}
}
这是解决搜索特定词的响应拦截器的正确方法吗?
是的,您走在正确的轨道上,但在尝试搜索之前,您可能应该确保所讨论的响应是 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");
}
}
}
此外,请记住,必须禁用流式传输选项(请参阅 Fiddler 的工具栏),此代码才能按预期工作。