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

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

测试代码

static void Main()
{
    string back = getwebcode1("http://blog.csdn/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;
}

更多推荐

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