在NET中取得网页的代码有好几种
现在我们先来说第一种
哪就是用AxWebBrowser按件,用这种方法你要先在你的项目里先
加入AxWebBrowser控件,可以从<工具箱>--<Window窗体>---
<添加/移除项>---<COM组件>---<Microsoft WEB浏览器>来添加这
个控件.用这个控件取得代码,我们要先打开一个网页然后等网页加
载完了后再取得代码。用此控件的Navigate属性我们可以让
AxWebBrowser打开一个网页,
例如:AxWebBrowser1.Navigate(http://mgxx520.blog.com.cn)哪么
此时它就会打开本人的博客了。接着我们用另一个语句:
AxWebBrowser1.Document.documentelement.InnerHTML
上面这一句就可以取得了此时AxWebBrowser1里所加打开的网页
的代码了。你只要把取得的字符串赋给一个字符串变量哪么就可以
把代码放到了你要的地方了!
哪我们现在就来说一下第二种:
这一种是用到System.Net命空间下的HttpWebRequest来取得网页源
代码方法如下:
Dim url As String=" http://mgxx520.blog.com.cn" ' 这是本人的博客
Dim httpReq As System.Net.HttpWebRequest
Dim httpResp As System.Net.HttpWebResponse
Dim httpURL As New System.Uri(url)
httpReq = CType(WebRequest.Create(httpURL), HttpWebRequest)
httpReq.Method = "GET"
httpResp = CType(httpReq.GetResponse(), HttpWebResponse)
httpReq.KeepAlive = False ' 获取或设置一个值,该值指示是否与
Internet资源建立持久连接。
Dim reader As StreamReader = _
New StreamReader(httpResp.GetResponseStream,
System.Text.Encoding.GetEncoding("GB2312")) '用GB2312字符
Dim respHTML As String = reader.ReadToEnd() 'respHTML就是网
页源代码
第三种方式:(这种方式决对支持中文)
byte[] buf = new byte[1000000];
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.mcfsoft.com.cn");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream resStream = response.GetResponseStream();
int count = resStream.Read(buf,0,buf.Length);
dim str = Encoding.Default.GetString(buf,0,count); '这里的str里的内容就是网页的内容
resStream.Close();
相比两种方法,第一种会慢一点,因为它要等到网页加载完后才能
取得代码,而第二种就不用。但跟据情况的不同这两种都会各有各
的好处。因此要用哪种方法哪就要看你的运用了!