2015-04-07 70 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单独下载

唯一担心的是,这种操作可能会相当耗费资源,因此很可能是有意义的移动它到一个不同的过程。