小弟做了一个采集程序,采集的函数如下:
private static string GetPage(string url)
{
string ucode = "utf-8";
StreamReader sr = null;
// try
// {
url = url.Replace("\'", ""); url = url.Replace(" target=_top ", " ");
url = url.Replace(" target=\"_top", " ");
url = url.Replace("target=\"_top", " ");
url = url.Replace("target=_top", " ");
url = url.Replace("target=_blank", " ");
url = url.Replace("\"", "");
// request.AllowAutoRedirect = false;//
try
{
if ("gb2312".Equals(ucode.Trim().ToLower()))
{
Encoding en = Encoding.GetEncoding("gb2312"); HttpWebResponse response = (System.Net.HttpWebResponse)HttpWebRequest.Create(url).GetResponse();
Stream s = response.GetResponseStream();
sr = new StreamReader(s, en);
}
else
{
Encoding en = Encoding.GetEncoding("utf-8"); HttpWebResponse response = (System.Net.HttpWebResponse)HttpWebRequest.Create(url).GetResponse();
Stream s = response.GetResponseStream();
sr = new StreamReader(s, en); }
}
catch { return ""; } if (sr == null)
{
return "";
}
else if ("".Equals(sr.ToString()))
{
return "";
}
else
{
return sr.ReadToEnd();
}
// }
// catch (Exception ddd)
// {
// HttpContext.Current.Response.Write(ddd.ToString());
//fwt.print(ddd.ToString());
//Response.Write("<script>alert('无法连接远程站点!');</script>");
// return "";
// } }
当我采集其他页面时,都是正常的,但是当我采集http://sh.58.com/zufang/时,却发现得到的是北京的页面,这是怎么回事啊?
private static string GetPage(string url)
{
string ucode = "utf-8";
StreamReader sr = null;
// try
// {
url = url.Replace("\'", ""); url = url.Replace(" target=_top ", " ");
url = url.Replace(" target=\"_top", " ");
url = url.Replace("target=\"_top", " ");
url = url.Replace("target=_top", " ");
url = url.Replace("target=_blank", " ");
url = url.Replace("\"", "");
// request.AllowAutoRedirect = false;//
try
{
if ("gb2312".Equals(ucode.Trim().ToLower()))
{
Encoding en = Encoding.GetEncoding("gb2312"); HttpWebResponse response = (System.Net.HttpWebResponse)HttpWebRequest.Create(url).GetResponse();
Stream s = response.GetResponseStream();
sr = new StreamReader(s, en);
}
else
{
Encoding en = Encoding.GetEncoding("utf-8"); HttpWebResponse response = (System.Net.HttpWebResponse)HttpWebRequest.Create(url).GetResponse();
Stream s = response.GetResponseStream();
sr = new StreamReader(s, en); }
}
catch { return ""; } if (sr == null)
{
return "";
}
else if ("".Equals(sr.ToString()))
{
return "";
}
else
{
return sr.ReadToEnd();
}
// }
// catch (Exception ddd)
// {
// HttpContext.Current.Response.Write(ddd.ToString());
//fwt.print(ddd.ToString());
//Response.Write("<script>alert('无法连接远程站点!');</script>");
// return "";
// } }
当我采集其他页面时,都是正常的,但是当我采集http://sh.58.com/zufang/时,却发现得到的是北京的页面,这是怎么回事啊?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货