62,052
社区成员
发帖
与我相关
我的任务
分享
string url = "http://pan.baidu.com/s/1o7QhUps";
HttpWebResponse response = XinBase_HttpHelper.CreateGetHttpResponse(url, 0, null, null);
string finalurl = response.GetResponseHeader("Location");
HttpWebResponse finalresponse = XinBase_HttpHelper.CreateGetHttpResponse(finalurl, 0, null, null);
string s = XinBase_HttpHelper.GetResponseString(finalresponse);
Console.WriteLine(s);
/// <summary>
/// 创建GET方式的HTTP请求
/// </summary>
public static HttpWebResponse CreateGetHttpResponse(string url, int timeout, string userAgent, CookieCollection cookies)
{
HttpWebRequest request = null;
if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
{
//对服务端证书进行有效性校验(非第三方权威机构颁发的证书,如自己生成的,不进行验证,这里返回true)
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
request = WebRequest.Create(url) as HttpWebRequest;
request.ProtocolVersion = HttpVersion.Version10; //http版本,默认是1.1,这里设置为1.0
}
else
{
request = WebRequest.Create(url) as HttpWebRequest;
}
// request.AllowAutoRedirect = false;
request.Method = "GET";
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; QQWubi 133; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; CIBA; InfoPath.2)";
request.Proxy = null;
//设置代理UserAgent和超时
//request.UserAgent = userAgent;
//request.Timeout = timeout;
if (cookies != null)
{
request.CookieContainer = new CookieContainer();
request.CookieContainer.Add(cookies);
}
return request.GetResponse() as HttpWebResponse;
}
/// <summary>
/// 获取请求的数据
/// </summary>
public static string GetResponseString(HttpWebResponse webresponse)
{
using (Stream s = webresponse.GetResponseStream())
{
StreamReader reader = new StreamReader(s, Encoding.UTF8);
return reader.ReadToEnd();
}
}
string url = "http://pan.baidu.com/s/1o7QhUps";
CookieCollection cookies = new CookieCollection();
cookies.Add(new Cookie("BAIDUID", "XXX"));
HttpWebResponse response = XinBase_HttpHelper.CreateGetHttpResponse(url, 0, null, cookies);
string finalurl = response.ResponseUri.AbsoluteUri;
HttpWebResponse finalresponse = XinBase_HttpHelper.CreateGetHttpResponse(finalurl, 0, null, null);
string s = XinBase_HttpHelper.GetResponseString(finalresponse);
Console.WriteLine(s);
就是添加了 这两个关键点
CookieCollection cookies = new CookieCollection();
cookies.Add(new Cookie("BAIDUID", "XXX"));