java如何判断http地址是否连通

本篇文章为大家展示了java如何判断http地址是否连通,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

 下面代码看下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地址是否连通,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。