C# 读取网页源码的三种办法WebClient、WebRequest、HttpWebRequest

来源:互联网 发布:nginx 外网访问内网 编辑:程序博客网 时间:2024/05/22 06:12
直接看这三种办法的源码吧,
using System;using System.IO;using System.Net;namespace ReadHtml{class ReadHtml{static void Main(){System.Console.WriteLine("准备更新数据");string url = "http://www.jiuwola.com/";//string html = new ReadHtml().GetHtmlByWebClient(url);//string html = new ReadHtml().GetHtmlByWebRequest(url);string html = new ReadHtml().GetHtmlByHttpWebRequest(url);System.Console.WriteLine(html);}//第一种private string GetHtmlByWebClient(string url){string html = "";WebClient wc = new WebClient();Stream s = wc.OpenRead(url);StreamReader sr = new StreamReader(s,System.Text.Encoding.GetEncoding("utf-8"));html = sr.ReadToEnd();s.Close();return html;}//第二种private string GetHtmlByWebRequest(string url){Uri uri = new Uri(url);WebRequest request = WebRequest.Create(uri);WebResponse response = request.GetResponse();Stream s = response.GetResponseStream();StreamReader sr = new StreamReader(s,System.Text.Encoding.GetEncoding("utf-8"));string html = sr.ReadToEnd();s.Close();response.Close();return html;}//第三种  建议使用这一种办法private string GetHtmlByHttpWebRequest(string url){Uri uri = new Uri(url);HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);request.UserAgent = "User-Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705";request.Accept = "*/*";HttpWebResponse response = (HttpWebResponse)request.GetResponse();Stream s = response.GetResponseStream();StreamReader sr = new StreamReader(s,System.Text.Encoding.GetEncoding("utf-8"));string html = sr.ReadToEnd();s.Close();response.Close();return html;}}}
1 0
原创粉丝点击