如何通过 Body 过滤掉 fiddler 中的 POST 请求?

How to filter out POST requests in fiddler by Body?

使用 Fiddler。

我只听来自 eg

的流量

superhost.org

已添加到我的过滤器中(例如通过“仅当 URL 包含 时显示”)。

流量由相似的 POST 请求组成,只有 Body 不同。 示例:

第一个请求:

{
  "param 1" : "1"
  "param 2" : "2"
}

第二个请求:

{
  "param 1" : "1"
  "param 2" : "3"
}

所有 headers 等相同,只有 body 不同。

问题: 我如何只听请求(简单地说 - 请参阅 Fiddler 的请求列表),其中 "param 2" : "3" in body。 (所以,在我们的fakeExample中,应该过滤掉Request1,Fiddler只监听Request2)

你可以使用 Fiddler.Script 来做到这一点,它会读取正文,检查它是否包含字符串,如果它发现字符串隐藏了完整的 request/response:

static function OnBeforeRequest(oSession: Session) {
    
    if (oSession.HostnameIs("superhost.org")) {
        var body = oSession.GetRequestBodyAsString();
        if (!body.Contains("\"param 2\" : \"3\"")) {
            oSession["ui-hide"] = "does not have search string";
        }
    }
}

对于更高级的版本,您可以检查之前请求的路径 and/or content-type 然后将其解析为 JSON 这样格式更改不会影响识别您正在搜索的值。