用编程的方法取到的页面不是期望的页面

CsToD 2012-11-07 01:56:50
比如这样一个页面(台湾网址,不用代理的话,国内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);
}

当然,我只是猜的

怎么才能取到正确的页面呢?
...全文
131 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
CsToD 2012-11-08
  • 打赏
  • 举报
回复
谁遇到过这种情况
CsToD 2012-11-07
  • 打赏
  • 举报
回复
引用 1 楼 zhoukang0916 的回复:
加一个休眠功能 判断获取内容是否是自己想要的。
显然是不行的,每次调用WebClient.DownloadString或者HttpWebRequest.GetResponse,都是一个全新的状态,http协议是"无状态"的 我说可能有等待,是我"猜"的,不一定正确,你可以用程序试试
PandaIT 2012-11-07
  • 打赏
  • 举报
回复
加一个休眠功能 判断获取内容是否是自己想要的。

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧