0

我使用以下代码创建了一个 IE 实例:

的System.Diagnostics.Process P = System.Diagnostics.Process.Start( “IEXPLORE.EXE”
@ “http://www.asnaf.ir/moreinfounit.php?sSdewfwo87kjLKH7624QAZMLLPIdyt75576rtffTfdef22de=1&iIkjkkewr782332ihdsfJHLKDSJKHWPQ397iuhdf87D3dffR=2009585&gGtkh87KJg89jhhJG75gjhu64HGKvuttt87guyr6e67JHGVt=117&cCli986gjdfJK755jh87KJ87hgf9871g00113kjJIZAEQ798=0a26e8ea07358781d128aa4bc98dd89a”);

我想获取打开的窗口的内容。是否可以通过此过程读取 HTML 内容?

4

4 回答 4

1

使用以下代码,

using (var client = new WebClient())
{
    string result = client.DownloadString("http://www.asnaf.ir/moreinfounit.php?sSdewfwo87kjLKH7624QAZMLLPIdyt75576rtffTfdef22de=1&iIkjkkewr782332ihdsfJHLKDSJKHWPQ397iuhdf87D3dffR=2009585&gGtkh87KJg89jhhJG75gjhu64HGKvuttt87guyr6e67JHGVt=117&cCli986gjdfJK755jh87KJ87hgf9871g00113kjJIZAEQ798=0a26e8ea07358781d128aa4bc98dd89a");
    // TODO: ur logice here
}
于 2012-10-01T11:25:06.737 回答
0

这可能是可能的,但我实际上会使用HttpWebRequest来获取 HTML 内容。如果您真的只是想获取给定 http-URL 的 HTML 内容,那么使用 IE 作为单独的进程绝对不是要走的路。

于 2012-10-01T11:15:33.577 回答
0

您应该使用 WebClient 类来检索网页内容。检查此链接:

http://msdn.microsoft.com/en-us/library/system.net.webclient(v=vs.80).aspx

于 2012-10-01T11:16:13.473 回答
0

不。您的进程在不同的虚拟寻址空间中运行。如果您可以读取另一个进程分配的内存空间,那将是一个严重的安全漏洞。

编辑:考虑在原始过程中使用类似 WebBrowserControl 的东西。这样您就可以轻松检索它显示的页面。

于 2012-10-01T11:16:20.703 回答