当前位置:编程学习 > C#/ASP.NET >>

在用webbrowser1.documentText的时候发现问题

在用webbrowser1.documentText的时候发现问题,有两个问题,
1、显示的中文内容变乱码,怎么把乱码改对
2、显示的只是网页的框架内容,没有里面的内容,怎么显示里面的内容

抓下来的网页内容如下:
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312" />
<title>95Һ - ȫѯҽָƽ̨ - йĹԤԼҺƽ̨</title>
</head>
<frameset frameborder="0" rows="*,100%" framespacing="0" border="0">
  <frame name="guahao1" scrolling="no" noresize src="about:blank" >
  <frame name="www.guahao.com" src="ReUrl.aspx" scrolling="auto" noresize>
  <noframes>
  <body>
  <p>ҳʹ˿ܣֿ֧ܡ</p>
  </body>
  </noframes>
</frameset>
</html> --------------------编程问答-------------------- wb = new WebBrowser();  
  wb.Navigate("网址");  
  textBox1.Text = wb.DocumentText.ToString();  
--------------------编程问答-------------------- http://blog.csdn.net/gz775/article/details/5297892 --------------------编程问答--------------------
方法一:

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() + ": 页面内容获取完成! ");
--------------------编程问答-------------------- 继续求解第二个问题 --------------------编程问答-------------------- 2、显示的只是网页的框架内容,没有里面的内容,怎么显示里面的内容

补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,