我有一个奇怪的行为,使用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,有些则不适用。对于那些没有的人,它失败了
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,因为无法从我的基础架构外部访问它。