比如这样一个页面(台湾网址,不用代理的话,国内IP有时候能访问,有时候访问不了):
http://mybid.ruten.com.tw/credit/rule_p?wzappleom2
用WebClient(HttpWebReuest/HttpWebResponse结果一样)得到的页面只是一个“中间/等待”页面,显示:
商品搜尋處理中
但用IE打开,是一个正常的页面,而如果网速比较慢,也会时示那个“中间/等待”页面,似乎是这样:
访问这个网址后,先显示一个等待页面,后台查询完后,返回给你结果页面,因为一般情况网速正常的话,几乎是马上返回结果页面,所以就看不见等待页面,而用编程的方式取到的就是等待页,有什么办法能获取最后的页面吗?
我的代码是:
WebClient wc = new WebClient();
wc.Encoding = Encoding.GetEncoding("big5");
wc.Headers[HttpRequestHeader.UserAgent] = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)";
wc.Headers[HttpRequestHeader.Accept] = "text/html, application/xhtml+xml, */*";
string res = wc.DownloadString(@"http://mybid.ruten.com.tw/credit/rule_p?wzappleom2");
需要强调的是,这不是一个跳转页面,因为url没有任何变化,而且WebClient/HttpWebReuqest默认就是自动跳转的,所以应该不是跳转的问题,大概网页是这样显示的吧:
Page_Load()
{
Output("正在查询");
res=Query();//
Clear("正在查询");
Output(res);
}
当然,我只是猜的
怎么才能取到正确的页面呢?