2015-04-07 37 views
0

我正在嘗試構建一個IE插件,它必須代表用戶進行少量webrequest。要以編程方式創建Web請求,我可以使用以下代碼。BHO中的InVisible WebBrowser

var url = "www.example.com"; 
var request = (HttpWebRequest)WebRequest.Create(url); 
var response = (HttpWebResponse)request.GetResponse(); 

響應變量將具有從網絡服務器的響應。現在我想執行這個響應,因爲它會在真實瀏覽器中執行(但對用戶是隱藏的;我不能使用真實的瀏覽器)。這個檢索頁面中有幾個javascript,實際上我想執行它們。以某種方式可以做到這一點嗎?

回答

0

這是可能的。您必須實例化一個Windows.Forms.WebBrowser控件,而不將其附加到任何位置,以便它保持不可見狀態。然後,你有兩個選擇:

  • 導航與Navigate方法,這意味着整個頁面將被裝載在一個正常的瀏覽器,這樣你就不需要加載與WebRequest內容在你的代碼的URL
  • 加載HTML代碼到WebBrowser控制通過設置DocumentText財產,如果你真的想有HTML單獨下載

唯一擔心的是,這種操作可能會相當耗費資源,因此很可能是有意義的移動它到一個不同的過程。