• https请求


     public List<HrOrgDTO> parseJson() {
            logger.info("===========parseJson======start");
            List list = null;
            BufferedReader is = null;
            HttpsURLConnection httpsConn = null;
    
            try {
                String e = this.sysConfig.getValue("YG_HR_URL");
                URL url = new URL(e);
                if(e.startsWith("https")) {
                    SSLContext sb = SSLContext.getInstance("SSL");
                    sb.init((KeyManager[])null, new TrustManager[]{new YgHrService.TrustAnyTrustManager()}, new SecureRandom());
                    httpsConn = (HttpsURLConnection)url.openConnection();
                    httpsConn.setSSLSocketFactory(sb.getSocketFactory());
                    httpsConn.setHostnameVerifier(new YgHrService.TrustAnyHostnameVerifier());
                    httpsConn.setDoOutput(true);
                    httpsConn.connect();
                    is = new BufferedReader(new InputStreamReader(httpsConn.getInputStream(), "UTF-8"));
                } else {
                    is = new BufferedReader(new InputStreamReader(url.openStream(), "GBK"));
                }
    
                StringBuffer sb1 = new StringBuffer();
                String str = "";
    
                while((str = is.readLine()) != null) {
                    sb1.append(str);
                }
    
                String src = sb1.toString().replaceAll(" ", "");
                src = src.substring(src.indexOf("([") + 1, src.length() - 1);
                list = JSONArray.parseArray(src, HrOrgDTO.class);
            } catch (Exception var17) {
                logger.error("========json转dto error", var17);
            } finally {
                if(is != null) {
                    try {
                        is.close();
                    } catch (Exception var16) {
                        ;
                    }
                }
    
                if(httpsConn != null) {
                    httpsConn.disconnect();
                }
    
            }
    
            logger.info("===========parseJson======end");
            return list;
        }
    
        public void truncateYgORGTable() {
            this.dao.truncateYgORGTable();
        }
    
        private static class TrustAnyHostnameVerifier implements HostnameVerifier {
            private TrustAnyHostnameVerifier() {
            }
    
            public boolean verify(String hostname, SSLSession session) {
                return true;
            }
        }
    
        private static class TrustAnyTrustManager implements X509TrustManager {
            private TrustAnyTrustManager() {
            }
    
            public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
            }
    
            public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
            }
    
            public void checkClientTrusted(java.security.cert.X509Certificate[] arg0, String arg1) throws java.security.cert.CertificateException {
            }
    
            public void checkServerTrusted(java.security.cert.X509Certificate[] arg0, String arg1) throws java.security.cert.CertificateException {
            }
    
            public java.security.cert.X509Certificate[] getAcceptedIssuers() {
                return null;
            }
        }
  • 相关阅读:
    Linux下运行java项目
    Matlab 绘图完整入门
    Matlab命令合集 妈妈再也不用担心我不会用matlab了
    详尽全面的matlab绘图教程
    拉格朗日乘子法 那些年学过的高数
    【转】几款网络仿真软件的比较
    正则表达式30分钟入门教程 ——堪称网上能找到的最好的正则式入门教程
    并发编程详细整理
    高并发通信模型NIO
    Java并发编程的艺术笔记(九)——FutureTask详解
  • 原文地址:https://www.cnblogs.com/yy123/p/7088432.html
Copyright © 2020-2023  润新知