1

我使用代码

public static int getResponseCode(String urlString) throws MalformedURLException, IOException {         
    URL u = new URL(urlString);  
    HttpURLConnection huc = (HttpURLConnection) u.openConnection();
    huc.setRequestMethod("GET");
    huc.connect();
    return huc.getResponseCode();  
}  

获取响应代码。当我运行代码时,我得到一个异常 java.net.ConnectException: Connection timed out at java.net.PlainSocketImpl.socketConnect(Native Method)

我打印了导致此错误的 URl,然后将其加载到浏览器中。链接已加载,但过了一段时间,大约 2 分钟。未返回状态码的原因可能是什么?我该如何处理这种情况?

谢谢你的帮助!

沙里

4

2 回答 2

0

您是说在浏览器中加载内容需要 2 分钟。很可能,您的连接超时。您可以尝试将连接超时时间设置为 3 分钟(以毫秒为单位)

huc.setConnectTimeout(1800000);

如果问题不是超时,那么很可能您必须为连接设置代理。检查浏览器中的代理设置并设置适当的值。例如,请参阅this question,了解如何操作。

于 2015-04-28T14:06:09.493 回答
0

尝试调用huc.setReadTimeout(120000);之前huc.connect()

但是,我担心您的服务器端出了点问题。为什么它会在约 2 分钟后回复?

于 2015-04-28T14:05:20.107 回答