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

全栈工程师开发手册 (作者:栾鹏)
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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

腾讯AI架构师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值