HttpURLConnections忽略超时并永不返回
-
10-07-2019 - |
题
在尝试从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
不隶属于 StackOverflow