真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JAVA中的HTTPS接口怎么利用HttpClient進行調(diào)用

JAVA中的HTTPS接口怎么利用HttpClient進行調(diào)用?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

成都創(chuàng)新互聯(lián)公司2013年至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務公司,擁有項目成都做網(wǎng)站、成都網(wǎng)站設(shè)計網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元大荔做網(wǎng)站,已為上家服務,為大荔各地企業(yè)和個人服務,聯(lián)系電話:18982081108

1.為了避免需要證書,所以用一個類繼承DefaultHttpClient類,忽略校驗過程。

import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import org.apache.http.conn.ClientConnectionManager;
import org.apache.http.conn.scheme.Scheme;
import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.impl.client.DefaultHttpClient;

/**
 * 用于進行Https請求的HttpClient 
 * @ClassName: SSLClient 
 * @Description: TODO
 * @author Devin  
 * @date 2017年2月7日 下午1:42:07 
 * 
 */
public class SSLClient extends DefaultHttpClient {
  public SSLClient() throws Exception{
    super();
    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);
    SSLSocketFactory ssf = new SSLSocketFactory(ctx,SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
    ClientConnectionManager ccm = this.getConnectionManager();
    SchemeRegistry sr = ccm.getSchemeRegistry();
    sr.register(new Scheme("https", 443, ssf));
  }
}

2.創(chuàng)建一個利用HttpClient發(fā)送post請求的工具類

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.message.BasicHeader;
import org.apache.http.util.EntityUtils;
/**
 * 利用HttpClient進行post請求的工具類
 * @ClassName: HttpClientUtil 
 * @Description: TODO
 * @author Devin  
 * @date 2017年2月7日 下午1:43:38 
 * 
 */
public class HttpClientUtil {
  @SuppressWarnings("resource")
  public static String doPost(String url,String jsonstr,String charset){
    HttpClient httpClient = null;
    HttpPost httpPost = null;
    String result = null;
    try{
      httpClient = new SSLClient();
      httpPost = new HttpPost(url);
      httpPost.addHeader("Content-Type", "application/json");
      StringEntity se = new StringEntity(jsonstr);
      se.setContentType("text/json");
      se.setContentEncoding(new BasicHeader("Content-Type", "application/json"));
      httpPost.setEntity(se);
      HttpResponse response = httpClient.execute(httpPost);
      if(response != null){
        HttpEntity resEntity = response.getEntity();
        if(resEntity != null){
          result = EntityUtils.toString(resEntity,charset);
        }
      }
    }catch(Exception ex){
      ex.printStackTrace();
    }
    return result;
  }
}

3.測試代碼

public static void main(String[] args){ 
    String url = "https://192.168.1.101/xxx";
    String jsonStr = "{xxx}";
    String httpOrgCreateTestRtn = HttpClientUtil.doPost(url, jsonStr, "utf-8");
  }

看完上述內(nèi)容,你們掌握JAVA中的HTTPS接口怎么利用HttpClient進行調(diào)用的方法了嗎?如果還想學到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


分享標題:JAVA中的HTTPS接口怎么利用HttpClient進行調(diào)用
文章網(wǎng)址:http://weahome.cn/article/ipjsch.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部