2016-02-12 65 views
3

不使用ResponseHeadersAvailable不起作用,禁用從提琴手核心代理自動視頻/音頻流。在我的情況我想捕獲所有的視頻/音頻的請求和響應,這是我寫的這麼胖:fiddler核心自動流不能禁用?

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) ; 
    } 

} 

這並沒有給我任何東西,因爲一個ResponseHeader顯示每每個視頻/音頻.... 。我不能使用ResponseAvailableHeader,因爲它忽略了我感興趣的Response主體。

有什麼想法?

回答

1

試試這個

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) ; 
    } 

} 
1

使用OnBeforeResponse處理程序捕獲正文。如果您也想緩衝響應,請在ResponseHeadersAvailable事件中僅設置BufferResponse = true。

爲了減少混淆,請不要在無關事件(AfterSessionComplete)之後命名事件處理方法。

+0

非常感謝你 –