码迷,mamicode.com
首页 > Web开发 > 详细

https请求

时间:2017-06-28 10:59:13      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:null   sea   ever   value   blog   ati   out   imp   ogg   

 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;
        }
    }

 

https请求

标签:null   sea   ever   value   blog   ati   out   imp   ogg   

原文地址:http://www.cnblogs.com/yy123/p/7088432.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!