Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 程序卡在URL上,无法前进并赢得';t超时_Java_Url_Timeout - Fatal编程技术网

Java 程序卡在URL上,无法前进并赢得';t超时

Java 程序卡在URL上,无法前进并赢得';t超时,java,url,timeout,Java,Url,Timeout,我的程序是一个网络爬虫,它被固定在一个URL上,显然对应于一个随机的中文网站。出于某种原因,它不会引发异常,连接也不会超时。我本以为这些线会阻止这一切 static URLConnection in; in = curURL.openConnection(); in.setConnectTimeout(2000); pageSource = new StreamedSource(in); 我几乎可以肯定这就是问题所在,对堆转储进行的任何内存泄漏检查都没有发现任何结果。setConnectTim

我的程序是一个网络爬虫,它被固定在一个URL上,显然对应于一个随机的中文网站。出于某种原因,它不会引发异常,连接也不会超时。我本以为这些线会阻止这一切

static URLConnection in;
in = curURL.openConnection();
in.setConnectTimeout(2000);
pageSource = new StreamedSource(in);
我几乎可以肯定这就是问题所在,对堆转储进行的任何内存泄漏检查都没有发现任何结果。

setConnectTimeout()
仅控制建立连接的超时。一旦启动,它可以持续很长时间(基本上直到服务器关闭它)。例如,您可能正在通过慢速链接下载一个非常大的文件

一种解决方案是添加一个监视线程来监视连接,并关闭超过某个时间限制的连接。

setConnectTimeout()
仅控制建立连接的超时。一旦启动,它可以持续很长时间(基本上直到服务器关闭它)。例如,您可能正在通过慢速链接下载一个非常大的文件


一种解决方案是添加一个监视线程来监视连接,并关闭那些超过某个时间限制的连接。

如果是有风险的url,我建议将其删除。完成。任何通过curl或浏览器访问url的尝试都不会让我得到任何结果。如果这是一个有风险的url,我建议将其删除。完成。任何通过curl或浏览器访问url的尝试都不会让我得到任何结果。这听起来正是我所需要的,我应该怎么做?你在使用第三方爬虫库吗?如果不是的话,你可能想看看现有的解决方案,我正在使用Jericho html解析器,它很适合从页面中提取信息,但我看不到任何对我有帮助的东西。有没有办法对循环中某个步骤的执行设定时间限制?爬虫的工作(除其他外)是排队、监视和执行请求,然后它可以将数据传递给解析器。如果您想保留您的代码,请查看此问题的公认答案:因此,事实证明URLConnection有一个我没有注意到的setReadTimeout方法,我认为我的问题已经解决。这听起来正是我所需要的,我应该如何做?您使用的是第三方爬虫库吗?如果不是的话,你可能想看看现有的解决方案,我正在使用Jericho html解析器,它很适合从页面中提取信息,但我看不到任何对我有帮助的东西。有没有办法对循环中某个步骤的执行设定时间限制?爬虫的工作(除其他外)是排队、监视和执行请求,然后它可以将数据传递给解析器。如果您想保留您的代码,请查看这个问题的公认答案:因此,事实证明URLConnection有一个我没有注意到的setReadTimeout方法,我想我的问题已经解决了。