在.NET中几种取得网页代码的方法

    技术2022-05-11  82

    在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();

     相比两种方法,第一种会慢一点,因为它要等到网页加载完后才能

    取得代码,而第二种就不用。但跟据情况的不同这两种都会各有各

    的好处。因此要用哪种方法哪就要看你的运用了! 


    最新回复(0)