110,578
社区成员
发帖
与我相关
我的任务
分享
/// <summary>获取网页源代码
///
/// </summary>
/// <param name="url">目标网页地址</param>
/// <param name="code">如果目标网页是utf-8编码的在此输入utf8,若是gb2312编码的则不用输入</param>
/// <returns></returns>
public static string GetWebresourceFile(string url, string code)
{
WebClient myWebClient = new WebClient();
byte[] myDataBuffer = myWebClient.DownloadData(url);
string SourceCode = "";
if ("utf8" == code)
{
SourceCode = Encoding.UTF8.GetString(myDataBuffer); //url对应的网页是 utf-8 的编码则是用这个
}
else
{
SourceCode = Encoding.Default.GetString(myDataBuffer); //url对应的网页是 gb2312 的编码则是用这个
}
return SourceCode;
}
protected void Page_Load(object sender, EventArgs e)
{
string strurl = "http://www.baidu.com"; //欲获取的网页地址
WebClient myWebClient = new WebClient(); //创建WebClient实例myWebClient
//获取或设置用于对向 Internet 资源的请求进行身份验证的网络凭据。
myWebClient.Credentials = CredentialCache.DefaultCredentials;
//从资源下载数据并返回字节数组。(加@是因为网址中间有"/"符号)
byte[] pagedata = myWebClient.DownloadData(strurl);
//以下两句每次只要使用一条即可,功能是一样是用来转换字符集,根据获取网站页面的字符编码选择
//string result=Encoding.Default.GetString(pagedata);
//如果获取网站页面采用的是GB2312,则使用这句
string result = Encoding.UTF8.GetString(pagedata);
//如果获取网站页面采用的是UTF-8,则使用这句
//因为我的博客使用了UTF-8编码,所以在这里我使用这句
Response.Write(result); //在WEB页中显示获取的内容
}
string netUrl = "http://www.265.com";
HttpWebRequest myWebRequest = (HttpWebRequest)WebRequest.Create(netUrl);
WebResponse resp = myWebRequest.GetResponse();
StreamReader oStreamRd = new StreamReader(resp.GetResponseStream(),Encoding.GetEncoding("GB2312"));
string content = oStreamRd.ReadToEnd();
Console.WriteLine(content);
Console.ReadLine();