0

我有一个奇怪的行为,使用 InternetExplorer 对象从 http 站点读取信息:

到目前为止我的代码:

string url = "http://www.someURL.com"
InternetExplorer IE = new InternetExplorer();
IE.Visible = true;
IE.Navigate(url);
while (IE.Busy == true) {
     System.Threading.Thread.Sleep(500);
}

IHTMLDocument2 htmlDoc = IE.Document as IHTMLDocument2;
string sourceCode = htmlDoc.body.outerHTML;
IE.Quit();

此代码适用于某些 Webistes,但对某些 Webistes 无效。对于那些没有的人,它失败了

System.Runtime.InteropServices.COMException

HRESULT E_FAIL

我找到了这些网站的解决方法,但我对此并不满意:

static private SHDocVw.ShellWindows shellWindows = new SHDocVw.ShellWindows();
foreach (SHDocVw.InternetExplorer ii in shellWindows) {
        //Check URL or Title to figure out if this is my window
}

当我打开更多具有相同标题或 URL 的窗口时,我不知道哪一个是我之前打开的那个。

不幸的是,我无法共享无效的 URL,因为无法从我的基础架构外部访问它。

4

0 回答 0