2009-06-03 46 views
0

我的應用程序正在執行衆多的HttpWebRequest s,其中一些偶爾會失敗。每當我執行一個請求以及作爲響應到達的字節時,我想轉儲離開我的PC的字節。爲調試目的轉儲WebRequest傳輸?

是否可以輕鬆地從我的代碼中執行此操作?

如果沒有其他方法可用,我只想使用類似Wireshark的東西作爲最後的手段,因爲我希望在客戶端機器上可以使用這種轉儲,而無需安裝WinPcap和其他東西。

+0

當你使用Windows時,這種簡單的事情有多難。過度設計的WebRequest類無法看到請求主體?即使Wireshark在本地主機上也是不可能的,因爲Windows沒有環回接口。 – 2012-09-23 16:07:49

+0

@JoeKoberg仇恨會討厭...但是這樣你就不會在Windows本身看起來那麼蹩腳,[這裏是_actual_ crapness](http://stackoverflow.com/questions/3561545)(與一些隨機API ),您可以使用它來說明Windows爲何如此糟糕。 – 2012-09-24 22:54:35

回答

1

查看Fidller2 - 是的,它安裝的東西,但它並不像wirehark那樣接近任何地方,它會給你更多有用的信息。包括能夠將流轉儲爲可重播系列。

+0

這並沒有真正回答這個問題,但是非常有幫助。爲了記錄,我發現沒有辦法完成問題的要求。 – 2009-10-03 17:47:37

0

有微軟的NetMon,或者如你所說的基於WinPCap的產品如Wireshark。就像Wireshark一樣,它可能只是HTTP的矯枉過正。

正如其他帖子所說,有Fiddler2是一個很容易使用的HTTP調試。此外,它在調試NetMon/Wireshark無用的HTTPS中很有用......

0

我現在正在做的是將HttpWebRequest包裝到一個只將所有響應標題和正文轉儲到指定文件的類中。請求也一樣,但POST請求有點笨拙。

最糟糕的是,我必須改變所有使用HttpWebRequest的代碼來使用這個新的包裝類,但它並不算太壞。