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);
做猪小侠源码的代理,提供一站式服务
如果你不懂得搭建网站或者服务器,小程序,源码之类的怎么办? 第一通过本站学习各种互联网的技术 第二就是联系客服,我帮帮你搭建(当然要收取部分的费用) 第三成为我们的代理,我们提供整套的服务。