有这么一批百度云私密链接需要监控,定时查看是否挂挡了,请求的时候有个问题,百度云私密链接,比如http://pan.baidu.com/s/1o7QhUps,它在请求过程中还会进行302跳转,跳转到http://pan.baidu.com/share/init?shareid=3900055188&uk=1100738292,因此我写了这么个程序
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://pan.baidu.com/s/1o7QhUps/"); req.Method = "Get"; req.Accept = "text/html"; HttpWebResponse myResp = (HttpWebResponse)req.GetResponse(); if (myResp.StatusCode == HttpStatusCode.Redirect) { Console.WriteLine("redirected to:" + myResp.GetResponseHeader("Location")); }
现在问题就是在请求如
http://pan.baidu.com/s/1o7QhUps 这种类型的链接后,直接返回远程服务器返回错误: (403) 已禁止,而访问http://pan.baidu.com/share/init?shareid=3900055188&uk=1100738292这种就没事
请求http://pan.baidu.com/s/1o7QhUps的时候 请带上一个交BAIDUID的cookie。谢谢,不谢
另:如果你要判断302.请记得request.AllowAutoRedirect
确实有用,十分感谢。
req.Accept = "text/html";
这句话下面 加上下面这两句试试
req.ContentType = "application/x-www-form-urlencoded";
req.UserAgent = "Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/20100101 Firefox/19.0";
嗯,试过,还是不行,不过感谢回复。