现在抓取网站信息越来越火热,大家常用的方法如下。
public string Get_Http(string a_strUrl, int timeout)
{
string strResult;
try
{
HttpWebRequest myReq = (HttpWebRequest)HttpWebRequest.Create(a_strUrl);
myReq.Timeout = timeout;
myReq.Headers.Set("Pragma","no-cache");
HttpWebResponse HttpWResp = (HttpWebResponse)myReq.GetResponse();
Stream myStream = HttpWResp.GetResponseStream();
StreamReader sr = new StreamReader(myStream, Encoding.Default);
StringBuilder strBuilder = new StringBuilder();
while (-1 != sr.Peek())
{ strBuilder.Append(sr.ReadLine() + "\r\n"); }
strResult = strBuilder.ToString();
}
catch (Exception exp)
{ strResult = "错误:" + exp.Message; }
return strResult;
}
{
string strResult;
try
{
HttpWebRequest myReq = (HttpWebRequest)HttpWebRequest.Create(a_strUrl);
myReq.Timeout = timeout;
myReq.Headers.Set("Pragma","no-cache");
HttpWebResponse HttpWResp = (HttpWebResponse)myReq.GetResponse();
Stream myStream = HttpWResp.GetResponseStream();
StreamReader sr = new StreamReader(myStream, Encoding.Default);
StringBuilder strBuilder = new StringBuilder();
while (-1 != sr.Peek())
{ strBuilder.Append(sr.ReadLine() + "\r\n"); }
strResult = strBuilder.ToString();
}
catch (Exception exp)
{ strResult = "错误:" + exp.Message; }
return strResult;
}
这里给大家介绍另一种方法
public string SnatchHtml(string url,string charset)
{
System.Net.WebClient MyWebClinent = new WebClient();
MyWebClinent.Credentials = CredentialCache.DefaultCredentials;
string pageHtml;
byte[] pageData = MyWebClinent.DownloadData(url);
if (charset.ToLower() == "gb2312")
{
pageHtml = Encoding.Default.GetString(pageData); //如果获取网站页面采用的是GB2312,则使用这句
}
else if (charset.ToLower() == "utf-8")
{
pageHtml = Encoding.UTF8.GetString(pageData); //如果获取网站页面采用的是UTF-8,则使用这句
}
else
{
pageHtml = Encoding.Unicode.GetString(pageData); //如果获取网站页面采用的是Unicode,则使用这句
}
return pageHtml;
}
{
System.Net.WebClient MyWebClinent = new WebClient();
MyWebClinent.Credentials = CredentialCache.DefaultCredentials;
string pageHtml;
byte[] pageData = MyWebClinent.DownloadData(url);
if (charset.ToLower() == "gb2312")
{
pageHtml = Encoding.Default.GetString(pageData); //如果获取网站页面采用的是GB2312,则使用这句
}
else if (charset.ToLower() == "utf-8")
{
pageHtml = Encoding.UTF8.GetString(pageData); //如果获取网站页面采用的是UTF-8,则使用这句
}
else
{
pageHtml = Encoding.Unicode.GetString(pageData); //如果获取网站页面采用的是Unicode,则使用这句
}
return pageHtml;
}