|
如何用vb.net获取网页源代码 |
来源:转载 人气:2859 录入时间:2007-11-8 |
我使用的是vb.net2005,在网上找过不少获取网页源代码的方法
1)使用MICROSOFT INTERNET TRANSFER CONTROL的,代码如下:
Dim strhtml As String
Dim STRURL As String
STRURL="http://www.sijiqing.com"
strhtml = Inet1.OpenURL(STRURL)
可是问题是我自己引用了这个控件了以后,却在工具箱中找不到它。而且我下载过其他人用这种方法做的程序,在获取编码为UTF-8的网页(如:http://rss.sina.com.cn/news/marquee/ddt.xml)的源代码的时候,获取的代码全都是乱码。
2)用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(-0))
Dim respHTML As String = reader.ReadToEnd() 'respHTML就是网页源代码
按道理说 System.Text.Encoding.GetEncoding(-0))这一段代码就是用来自动调整网页的编码,可是出来的效果依然是一堆乱码
3)使用webbrowser控件,代码如下
RichTextBox1.Text = WebBrowser1.Document.Body.InnerHtml
但是运行程序以后,vb却显示"在 System.NullReferenceException 中第一次偶然出现的“WindowsApplication1.exe”类型的异常"
现在三种方法全部不行,实在无奈的说……请各位大哥麻烦帮忙纠正一下代码里面的错误或者发一下另外的获取网页源代码的方法。有时候觉得很麻烦,现在网络上哪怕是vb.net2003的代码,拿到vb.net2005里面用也会出现错误……而这些错误就连vb.net2005里面的纠错功能也无能为力……为了获取网页源代码这个问题我搞了整整一个月都搞不好……真烦哪……
|
|
|