InVisible WebBrowser in a BHO



我正在尝试构建一个IE插件,它必须代表用户进行少量的Web请求。要以程序方式提出网络请求,我可以使用以下代码。

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

响应变量将具有来自Web服务器的响应。现在我想执行这个响应,因为它将在真实的浏览器中执行(但对用户隐藏;我不能使用真实的浏览器)。在这个检索到的页面中几乎没有java脚本,实际上我想执行它们。有可能以某种方式做到这一点吗?

这是可能的。您必须实例化一个Windows.Forms.WebBrowser控件,而不将其附加到任何位置,这样它就不可见了。然后你有两个选项:

  • 使用Navigate方法导航到URL,这意味着整个页面将像在普通浏览器中一样加载,因此您不需要在代码中使用WebRequest加载内容
  • 如果确实希望单独下载HTML,请通过设置DocumentText属性将HTML代码加载到WebBrowser控件

唯一担心的是,此操作可能相当耗费资源,因此将其转移到另一个进程可能是有意义的。

相关内容

  • 没有找到相关文章

最新更新