是否有辦法捕獲並打印出來自Web瀏覽器控件的所有請求和響應,包括異步請求?捕獲來自Web瀏覽器控件的所有請求和響應?
回答
您是否想過使用Fiddler?他們甚至有一個API,你可能可以使用它。
編輯
您可以嘗試使用Navigated event或LoadCompleted event用於獲取響應信息。您可能可以使用Navigating event獲取請求信息。這些事件可能發生在異步請求中,但我不確定。
編輯反擊
嗯,我沒有使用上述事件的一些測試,我怕我什麼也沒得到。事件並沒有給我任何我可以使用的東西。儘管他們可以訪問web響應和webrequest,但在我的測試中,它們始終沒有任何/無效。
我想可悲的現實是,網絡瀏覽器控件並不打算以您想要的方式使用。這只是爲了提供網頁/數據,並不能讓您查看數據。我認爲他們做了一個C.Y.A.措施來防止某人制造惡意軟件/間諜軟件瀏覽器。
最好的辦法是將網絡瀏覽器與提琴手(或其他一些「嗅探」庫)耦合起來。
完成此操作的另一種方法是實現您自己的Asynchronous Pluggable Protocol
處理程序,但這不是一項簡單的任務。基本上,APPs是Internet Explorer用來通過URLMON從URL下載數據的機制。您可以實現自己的APP,取代URLMON使用的默認處理程序,這將允許您控制所有請求和響應。
而不是取代默認處理程序,你也可以實現一個APP,它包裝它。一個通常被引用的例子是由Igor Tandetnik創建的PassThroughAPP,它顯示瞭如何完成這樣的事情。您還可以在此代碼項目article中找到C#實現。我相信你最感興趣的接口是IHttpNegotiate和OnResponse方法,它允許客戶端檢查請求和響應頭。
PassThroughApp存在一些問題,詳細信息以及可能的解決方案here。下面還包括一些其他資源。
http://support.microsoft.com/?id=kb;en-us;303740 http://www.codeproject.com/KB/aspnet/AspxProtocol.aspx
- 1. 如何防止瀏覽器請求資產來自ajax響應
- 2. Restanglar。來自請求攔截器的捕獲響應
- 3. 監控HTTP請求和響應(無網頁瀏覽器)
- 4. 如何捕獲來自Java SWT瀏覽器組件的http響應
- 5. jmeter捕獲所有請求和響應頭單個http請求觸發
- 6. 如何捕獲來自HTTP GET請求的響應
- 7. Python的請求庫超時,但從瀏覽器獲取響應
- 8. Web瀏覽器控件:如何捕獲文檔事件?
- 9. 來自瀏覽器的好請求,但來自ruby的錯誤請求?
- 10. Cucumber/Ruby:是否可以攔截來自瀏覽器的HTTP請求/響應?
- 11. 移動瀏覽器將自動GET請求,終止POST響應
- 12. Http請求的響應與Python和瀏覽器不同
- 13. SOAP請求瀏覽器中的JavaScript沒有給出響應
- 14. 比響應不同CURL響應於請求,從瀏覽器
- 15. 記錄來自非瀏覽器應用程序的HTTP請求
- 16. 在Web瀏覽器控件中捕獲JavaScript警報
- 17. 如何阻止來自web瀏覽器和cURL等工具的請求?
- 18. 來自瀏覽器和應用程序的不同響應?
- 19. 在瀏覽器中觀看SignalR請求和響應
- 20. 在Web瀏覽器控件中爲C#中的所有請求添加自定義標頭?
- 21. Phonegap - 捕獲請求的響應正文
- 22. 捕獲瀏覽器事件
- 23. web瀏覽器控件
- 24. VB.NET Web瀏覽器控件
- 25. C#Web瀏覽器控件
- 26. Web瀏覽器控件
- 27. Web瀏覽器控件
- 28. 跨站請求和瀏覽器插件
- 29. 在所有瀏覽器和平臺上捕獲HTML5和視頻
- 30. 捕獲所有ajax響應?
我是那種希望有一些事件,我可以在Web瀏覽器控件捕捉。關於「編輯反擊」結果的 – 2010-08-16 19:26:38
,我正要評論說同樣的事情。您如何使用WebClient類發出請求,然後使用瀏覽器控件顯示結果,您有什麼想法?我沒有太多時間進行體驗,但我認爲這將是我的下一步。 – 2010-08-17 15:15:49
這是可行的,使用OpenRead(在webclient上)的NavigateToStream(在webbrowser上),但我不確定要使用哪些事件。聽起來像是有趣的事情來測試。 – 2010-08-17 17:05:42