在尝试从HttpURLConnection打开InputStream时,我们从某些服务器中随机获得了一些意外结果。看起来这些服务器会接受连接并使用<!> quot; stay-alive <!>来回复;标题将保持Socket打开但不允许将数据发送回流。

这个场景试图让多线程爬虫有点<!>复杂的<!>“;因为如果某个连接被卡住,运行它的线程将永远不会返回...否认它的完成在控制器中派生的池,认为某些线程仍在工作。

是否有某种方法可以读取连接响应标头以识别<!> quot; stay-alive <!> quot;回答并避免试图打开流?

有帮助吗?

解决方案

我不确定我在这里缺少什么,但在我看来你只需要 getHeaderField()

其他提示

您是否尝试设置<!>“;读取超时<!>”,除了<!>“连接超时<!>”?

请参阅 http://java.sun.com/j2se/1.5.0/docs/api/java/net/URLConnection.html#setReadTimeout%28int%29

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top