C#HttpWebRequest问题

时间:2011-03-03 15:52:50

标签: c# httpwebrequest

这是一种奇怪的问题。我一直在使用HttpWebRequest很长一段时间了。但以前从未遇到过这个问题。我正在报废的网站规模很大,每页至少3mb。

  

在xp中它没有给出错误但是   废弃不完整的页面。

在win7或2008服务器中显示此错误

  

“无法从中读取数据   运输连接:现有的   连接被强制关闭   远程主机“

。任何帮助将非常感谢。

3 个答案:

答案 0 :(得分:1)

服务于过滤HTTP GET请求的页面的ISP可能存在问题。

尝试添加以下ACCEPT标头:

webRequest.Accept = "*/*";

答案 1 :(得分:0)

网络服务器或中间人,例如代理正在终止你的连接。我认为这个请求在浏览器中工作正常。我会做一些事情:

  1. 这是很多数据 - 确保您的超时(Timeout和ReadWriteTimeout)设置得相当高。
  2. 让这个请求看起来像是来自真正的浏览器 - 使用像Fiddler或Netmon这样的工具从浏览器中提取和复制标题,提出相同的请求 - UserAgent,Accepts,Content-Encoding等。看到很多网站呕吐当缺少标准标题时。
  3. Cookie可能很重要(某些网站将其用于基本DDoS预防) - 再次使用Fiddler观察真实的浏览器交互。
  4.   

    Fiddler

         

    NetMon

    告诉我们你是怎么过的。

答案 2 :(得分:0)

花了5天后​​,我得出这个结论,这是.net的一个大错误 最后我使用WebBrowser组件解决了这个问题。虽然我不喜欢它,因为它不能在主线程之外工作。但它真的很快,并且像一个冠军一样废弃那些页面。