2011-11-21 18 views
0

我有以下問題: 我需要發送WebBrowser控件所做的每個請求一些自定義信息。例如,其中一個信息是使用的應用程序版本。使用WebBrowser控件發送自定義信息

現在我已經閱讀了這裏,它是不可能爲WebBrowser控件設置自定義標頭。

我已經嘗試攔截所有請求並使用WebClient(或HttpWebRequest)自行執行它們。它部分工作,但是非常麻煩,並且經常引發錯誤。

任何其他想法如何發送自定義信息與WebBrowser控件所做的每個請求?

+0

我認爲攔截請求是你最好的選擇。如果您發佈用於執行此操作的代碼,也許您可​​以通過一些幫助使其穩定。 – calum

回答

1

您正在與自己的Web服務器進行交互嗎?你可以爲你想要的所有數據添加一個查詢字符串參數嗎?像

http://yourwebsite/YourPage.aspx?version=2 

東西然後,你可以處理在服務器上,無論是在ASPX頁面請求過程中,或通過日誌文件的Web服務器。

0

我懷疑,因爲您無法修改直接從WebBrowser發送的內容,並攔截每個呼叫並充當每個請求的代理,同時仍然保留所有瀏覽器功能,可能太麻煩。

相反,我建議發送一個額外的請求,並在每次提出請求時只記錄您想要記錄的附加信息。
這可能會導致大量的開銷,所以它可能更容易發送一次,然後在第一個請求上傳遞它的一個散列值或一些其他的網頁標識鍵(作爲查詢字符串參數),以便它可以協調2條信息。假設你在控制Web服務器,那麼你可以讓Web服務器將該Hash/Key設置爲一個cookie,這樣它就會隨着來自控件的後續請求再次傳遞。

相關問題