httpclient4.3x的ssl請求工具類

gw63 10年前發布 | 832 次閱讀 Java

/**

  • post提交工具類 *
  • @param url 訪問的url
  • @param map post參數
  • @param charset 編碼
  • @return 響應結束的返回字符串 */ public static String doPost(String url, Map<String, String> map, String charset) throws Exception { HttpClient httpClient = null; HttpPost httpPost = null; String result = null; httpPost = new HttpPost(url); SSLContext ctx = SSLContext.getInstance("TLS"); X509TrustManager tm = new X509TrustManager() {

     @Override
     public void checkClientTrusted(X509Certificate[] chain,
                                    String authType) throws CertificateException {
     }
    
     @Override
     public void checkServerTrusted(X509Certificate[] chain,
                                    String authType) throws CertificateException {
     }
    
     @Override
     public X509Certificate[] getAcceptedIssuers() {
         return null;
     }
    

    }; ctx.init(null, new TrustManager[]{tm}, null); SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(

         ctx,
         SSLConnectionSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
    

    httpClient = HttpClients.custom().setSSLSocketFactory(sslsf).build(); //設置參數 List<NameValuePair> list = new ArrayList<NameValuePair>(); Iterator iterator = map.entrySet().iterator(); while (iterator.hasNext()) {

     Entry<String, String> elem = (Entry<String, String>) iterator.next();
     list.add(new BasicNameValuePair(elem.getKey(), elem.getValue()));
    

    } if (list.size() > 0) {

     UrlEncodedFormEntity entity = new UrlEncodedFormEntity(list, charset);
     httpPost.setEntity(entity);
    

    } HttpResponse response = httpClient.execute(httpPost); if (response != null) {

     HttpEntity resEntity = response.getEntity();
     if (resEntity != null) {
         result = EntityUtils.toString(resEntity, charset);
     }
    

    } return result;

}</pre>

 本文由用戶 gw63 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!