Mal*_*chi 119 java url timeout
如果URL连接超过5秒,我想返回false - 使用Java可以实现这一点吗?这是我用来检查URL是否有效的代码
HttpURLConnection.setFollowRedirects(false);
HttpURLConnection con = (HttpURLConnection) new URL(url).openConnection();
con.setRequestMethod("HEAD");
return (con.getResponseCode() == HttpURLConnection.HTTP_OK);
Run Code Online (Sandbox Code Playgroud)
dby*_*rne 194
HttpURLConnection有一个setConnectTimeout方法.
只需将超时设置为5000毫秒,然后捕获 java.net.SocketTimeoutException
您的代码应如下所示:
try {
HttpURLConnection.setFollowRedirects(false);
HttpURLConnection con = (HttpURLConnection) new URL(url).openConnection();
con.setRequestMethod("HEAD");
con.setConnectTimeout(5000); //set timeout to 5 seconds
return (con.getResponseCode() == HttpURLConnection.HTTP_OK);
} catch (java.net.SocketTimeoutException e) {
return false;
} catch (java.io.IOException e) {
return false;
}
ZZ *_*der 109
你可以像这样设置超时,
con.setConnectTimeout(connectTimeout);
con.setReadTimeout(socketTimeout);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
180256 次 |
| 最近记录: |