我使用代码
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();
}
来获取响应码。当我运行代码时,我得到了一个异常超时: Connection timed out at java.net.PlainSocketImpl.socketConnect(本机方法)
我打印了产生此错误的URl,然后将其加载到浏览器中。该链接已加载,但在一段时间后,大约2分钟。状态码未返回的原因可能是什么?我该怎么处理这个案子呢?
谢谢你的帮忙!
分享
发布于 2015-04-28 22:05:20
尝试在huc.connect()
之前调用huc.setReadTimeout(120000);
。
但是,我担心您的服务器端出了问题。为什么它会在~2分钟后回复?
发布于 2015-04-28 22:06:09
您是说在浏览器中加载内容需要2分钟。最有可能的是,您的连接超时。您可以尝试使用set a longer timeout连接到3分钟,单位为毫秒
huc.setConnectTimeout(1800000);
如果问题不是超时,那么很可能您必须为您的连接设置代理。检查浏览器中的代理设置并设置适当的值。例如,请参阅this question,了解如何做到这一点。
https://stackoverflow.com/questions/29921584
复制相似问题