我用 WebClient 请求一个url,
var webClient = new WebClient(); webClient.Encoding = Encoding.UTF8; string result = webClient.DownloadString(url);
返回网站的报错信息:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>对不起! 出错啦!!!</title> 以下省略............
但很奇怪,我用浏览器直接输入这个url回车后,却可以看到正常的结果,结果是一个json字符串,
url地址是:
http://www.wangpiao.com/Movie.ajax?Ajax=true&Ajax=true&Ajax_CallBackType=WPWEB_V2.Controllers.MoviemovieswsList&Ajax_CallBackMethod=GetUpFilmInfoList&AjaxArgument0=1&AjaxArgument1=2014&AjaxArgument2=4&_=1395391701543
这是什么原因?我应该如何请求这个url?
HttpWebRequest 的方式同样报错,
这是网站做的限制。比如身份验证。
我试过了,没有身份验证啊,我把地址打到浏览器中的时候并没有登录什么的,
原因在于你的是模拟请求,头信息中什么都没有设置,他知道你不是用浏览器请求的,所以你的请求被重定向了。