隐藏

c# webbrowser获取网页源码

发布:2022/12/20 9:18:59作者:管理员 来源:本站 浏览次数:480

最近用C#写一个简单的浏览器,通过WebBrowser获取的页面源码:

方法一:

System.IO.StreamReader getReader = new System.IO.StreamReader(this.webBrowser.DocumentStream, System.Text.Encoding.GetEncoding("gb2312"));
string gethtml = getReader.ReadToEnd();

注意:我这儿使用的不是DocumentText属性获取的页面内容。

方法二:

private void button1_Click(object sender, EventArgs e)
{
     WebBrowser webBrowser = new WebBrowser();
     webBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted);
     webBrowser.Navigate("http://www.mzwu.com/");
}

private void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
     WebBrowser webBrowser = (WebBrowser)sender;
     //WebBrowserReadyState.Interactive 和 WebBrowserReadyState.Complete 时都会触发DocumentCompleted
     if (webBrowser.ReadyState == WebBrowserReadyState.Complete)
     {
         //webBrowser1.DocumentText 获取的内容中文会乱码
         //获取文档编码
         Encoding encoding = Encoding.GetEncoding(webBrowser.Document.Encoding);
         StreamReader stream = new StreamReader(webBrowser.DocumentStream, encoding);
         File.WriteAllText(@"C:\mzwu.txt", stream.ReadToEnd(), Encoding.Unicode);
         MessageBox.Show(DateTime.Now.ToString() + ": 页面内容获取完成! ");
     }
}