下面代码看下java判断http地址是否连通
private boolean isOk(String url) {
if(StrUtil.isEmpty(url)) return false;
try {
URL netUrl = new URL(url);
HttpURLConnection connection = (HttpURLConnection) netUrl.openConnection();
connection.setConnectTimeout(3000); //连接主机超时时间ms
connection.setReadTimeout(3000); //从主机读取数据超时时间ms
if (HttpURLConnection.HTTP_OK == connection.getResponseCode()) {
System.out.println("网络联通!");
return true;
}
} catch (IOException e) {
log.error("连接不通", e.getMessage());
return false;
}
return false;
}
补充:下面看下url.openconnection() 设置超时时间
System.setProperty("sun.net.client.defaultConnectTimeout", "30000");
System.setProperty("sun.net.client.defaultReadTimeout", "30000");
其中: sun.net.client.defaultConnectTimeout:连接主机的超时时间(单位:毫秒)
sun.net.client.defaultReadTimeout:从主机读取数据的超时时间(单位:毫秒)
JDK 1.5以前的版本,只能通过设置这两个系统属性来控制网络超时。在1.5中,还可以使用HttpURLConnection的父类URLConnection的以下两个方法:
setConnectTimeout:设置连接主机超时(单位:毫秒)
setReadTimeout:设置从主机读取数据超时(单位:毫秒)
例如:
HttpURLConnection urlCon = (HttpURLConnection)url.openConnection();
urlCon.setConnectTimeout(30000);
urlCon.setReadTimeout(30000);
到此这篇关于java判断http地址是否连通(示例代码)的文章就介绍到这了,更多相关java判断http地址内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!