zoukankan      html  css  js  c++  java
  • URLAvailability

    import org.springframework.stereotype.Component;
    
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;
    
    @Component
    public class URLAvailability {
        private static URL url;
        private static HttpURLConnection con;
        private static int state = -1;
    
        /**
         * 功能:检测当前URL是否可连接或是否有效,
         * 描述:最多连接网络 5 次, 如果 5 次都不成功,视为该地址不可用
         *
         * @param urlStr 指定URL网络地址
         * @return URL
         */
        public synchronized String  isConnect(String urlStr) {
            int counts = 0;
            if (urlStr == null || urlStr.length() <= 0) {
                return null;
            }
            while (counts < 5) {
                try {
                    url = new URL(urlStr);
                    con = (HttpURLConnection) url.openConnection();
                    state = con.getResponseCode();
                    System.out.println(counts + "= " + state);
                    if (state == 200) {
                        System.out.println("URL可用!");
                    }
                    break;
                } catch (Exception ex) {
                    counts++;
                    System.out.println("URL不可用,连接第 " + counts + " 次");
                    urlStr = null;
                    continue;
                }
            }
           return  urlStr;
        }
    
    
    
        public static void main(String[] args) {
            URLAvailability u = new URLAvailability();
    //        http://localhost:18082/api/get/1
            String url = u.isConnect("http://127.0.0.1:18082/api/");
            System.out.println(url+"addScreen/");
           String posturl1="http://127.0.0.1:18089/api/";
           String posturl2="http://127.0.0.1:18082/api/";
           String posturl3="http://127.0.0.1:18084/api/";
    
                String posturl = null;
                if (null == u.isConnect(posturl1)) {
                    if (null == u.isConnect(posturl2)) {
                        if (null == u.isConnect(posturl3)) {
                            posturl = null;
                        } else {
                            posturl = posturl3;
                        }
                    } else {
                        posturl = posturl2;
                    }
                } else {
                    posturl = posturl1;
                }
            System.out.println(posturl);
    
    
    
        }
    }
  • 相关阅读:
    如何挖掘需求,覆盖整个系统
    JVM全整理
    7.linux文件与目录管理
    6.linux的文件权限与目录配置
    获取外汇基本汇率
    Pointer-Events: 如何处理ScreenTouch和MouseClicks
    Excel如何快速定位出两列的不同值
    Java数据结构: java.util.BitSet源码学习
    一道面试题与Java位操作 和 BitSet 库的使用
    Test post.
  • 原文地址:https://www.cnblogs.com/tonggc1668/p/15231981.html
Copyright © 2011-2022 走看看