浏览器成功但HttpWebRequest失败(超时)

时间:2012-01-28 13:44:44

标签: c# .net browser httpwebrequest web-crawler

我习惯经常访问网站(新闻网站)。经过两年的成功操作后,HttpWebRequest失败,超时操作。首先,我怀疑目标网站是阻止我的IP,但我可以在该机器上看到带有浏览器的网站,当我用Fiddler跟踪请求时,它显示它可以在143毫秒内下载页面。所以目的地没问题。然后我试图设置浏览器发送到Web服务器的所有请求标头,但它仍然有问题和超时。 (浏览器显示响应足够快(143毫秒),并且没有理由发生超时错误。

注意:应用程序在具有不同IP地址的其他计算机上运行良好

有人能告诉我这招吗?

1 个答案:

答案 0 :(得分:2)

在搜索了一段时间并与Fiddler一起玩之后,我发现我应该使用Keep-Alive发送请求,在Http 1.1中,第一个请求是使用Keep-Alive标头启用的,但后续请求会删除此标头,因为它使用了其他请求的连接相同。所以在我的情况下,目标网站需要有所有请求的Keep-Alive标头,否则它会超时我用以下问题解决了这个问题

C# - Connection: keep-alive Header is Not Being Sent During HttpWebRequest