HttpURLConnection- connect() throws Java ConnectException



我使用代码

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: 连接超时 at java.net.PlainSocketImpl.socketConnect(Native Method)

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

感谢您的帮助!

莎莉

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

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

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

huc.setConnectTimeout(1800000);

如果问题不是超时,则很可能您必须为连接设置代理。检查浏览器中的代理设置并设置适当的值。 例如,请参阅这个问题,了解如何做到这一点。

最新更新