无法禁用 fiddler 核心自动流式传输?

fiddler core automatic streaming can't be disable?

禁用自动 video/audio 从 fiddler 核心代理流式传输而不使用 ResponseHeadersAvailable 不工作。在我的场景中,我想捕获所有 video/audio 请求和响应,这就是我写的太胖了:

FiddlerApplication.ResponseHeadersAvailable += FProjectStatics.OnAfterSessionComplete;

public static void OnAfterSessionComplete( Session s ){
   string sContentType = oS.oResponse.MIMEType;
   if (sContentType.OICStartsWithAny("text/event-stream", "multipart/x-mixed-replace",
   "video/", "audio/", "application/x-mms-framed"))
     {
       oS.bBufferResponse = false;
       Console.WriteLine(s.ResponseHeaders) ;
     }

}

这没有给我任何东西,因为每个 video/audio 都会出现一个 ResponseHeader .....我不能使用 ResponseAvailableHeader 因为它忽略了我感兴趣的 Response 主体在.

有什么想法吗?

使用 OnBeforeResponse 的处理程序来捕获正文。如果您也想缓冲响应,请在 ResponseHeadersAvailable 事件中仅设置 BufferResponse=true。

为减少混淆,请不要在不相关的事件 (AfterSessionComplete) 之后命名您的事件处理方法。

试试这个

FiddlerApplication.ResponseHeadersAvailable += FProjectStatics.OnAfterSessionComplete;
FiddlerAppication.BeforeResponse += FProjectStatics.OnBeforeResponse ;
public static void OnBeforeResponse( Session s ){
   string sContentType = oS.oResponse.MIMEType;
   if (sContentType.OICStartsWithAny("text/event-stream", "multipart/x-mixed-replace",
   "video/", "audio/", "application/x-mms-framed"))
     {
       oS.bBufferResponse = false;
     }

public static void OnAfterSessionComplete( Session s ){
   string sContentType = oS.oResponse.MIMEType;
   if (sContentType.OICStartsWithAny("text/event-stream", "multipart/x-mixed-replace",
   "video/", "audio/", "application/x-mms-framed"))
     {
       Console.WriteLine(s.ResponseHeaders) ;
     }

}