偶尔在爬行的时候,我会得到一个非常慢的响应。
连接速度并不慢,因此超时不起作用。它的主机速度是3-4字节/秒。
有没有办法在超过10秒的时候终止这个请求,比如超时?
发布于 2011-07-16 08:49:58
您要做的是在自己的线程上启动爬网进程,该线程在指定时间后超时。看看HttpWebRequest类上的BeginGetResponse(),它启动一个线程,并在线程完成时调用指定的函数。您可以向此方法添加超时机制,如下一页的示例部分所示:http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.begingetresponse(v=VS.71).aspx。
很抱歉,我手头没有任何代码来显示这是如何完成的,但该页面上的示例似乎是完整的。
发布于 2011-07-16 08:52:02
如果你的HttpWebRequest在一个线程中,你应该能够通过在线程本身调用Abort来终止请求……我知道这可能是“大材小用”...也许其他人有更好的想法。
https://stackoverflow.com/questions/6714391
复制相似问题