c#获取网页源代码的5种方式

来源:互联网 发布:网络运营托管 编辑:程序博客网 时间:2024/05/29 13:26

全栈工程师开发手册 (作者:栾鹏)

c#教程全解

c#获取网页源代码的5种方式,发送请求获取响应数据流,按照不同的编码转换为响应字符串

测试代码

static void Main(){    string back = getwebcode1("http://blog.csdn.net/luanpeng825485697?viewmode=contents", "UTF-8");    System.Console.WriteLine(back);}

第1种获取方式

 public static string getwebcode1(string url, string encoder) {     WebClient myWebClient = new WebClient();     byte[] myDataBuffer = myWebClient.DownloadData(url);     string SourceCode = Encoding.GetEncoding(encoder).GetString(myDataBuffer);     return SourceCode; }

第2种获取方式

 public static string getwebcode2(string url, string encoder) {     HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);     HttpWebResponse response = (HttpWebResponse)request.GetResponse();     //request.Method = "GET ";     Stream receiveStream = response.GetResponseStream();     StreamReader readStream = new StreamReader(receiveStream, Encoding.GetEncoding(encoder));     string SourceCode = readStream.ReadToEnd();     response.Close();     readStream.Close();     return SourceCode; }

第3种获取方式

 public static string getwebcode3(string url, string encoder) {         WebClient wc = new WebClient();         wc.Credentials = CredentialCache.DefaultCredentials;         Byte[] pageData = wc.DownloadData(url);         string SourceCode = Encoding.GetEncoding(encoder).GetString(pageData);         wc.Dispose();         return SourceCode; }

第4种获取方式

 public static string getwebcode4(string url, string encoder) {     WebClient wc = new WebClient();     wc.Credentials = CredentialCache.DefaultCredentials;     Stream resStream = wc.OpenRead(url);     StreamReader sr = new StreamReader(resStream, Encoding.GetEncoding(encoder));     string SourceCode = sr.ReadToEnd();     resStream.Close();     wc.Dispose();     return SourceCode; }

第5种获取方式

public static string getwebcode5(string url, string encoder){    WebRequest request = WebRequest.Create(url);    WebResponse response = request.GetResponse();    Stream resStream = response.GetResponseStream();    StreamReader sr = new StreamReader(resStream, Encoding.GetEncoding(encoder));    string SourceCode = sr.ReadToEnd();    resStream.Close();    sr.Close();    return SourceCode;}