中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java如何發送https請求

發布時間:2020-07-16 14:42:59 來源:億速云 閱讀:227 作者:小豬 欄目:編程語言

這篇文章主要為大家展示了Java如何發送https請求,內容簡而易懂,下面讓小編帶大家一起學習一下吧。

1、前文:通過webService發送https請求,有兩種版本,一種是攜帶證書驗證(比較麻煩),另外一種就是直接忽略證書,本文提供的就是第二種(本人已測試過)

2、最簡易代碼:

import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.Reader;
import java.net.MalformedURLException;
import java.net.URL;
import java.text.SimpleDateFormat;

import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLSession;

@SuppressWarnings("all")
public class TestAPI_https {
  public static void main(String args[]) throws Exception {
    new TestAPI_https().TestRiQingAPI_SaleOrder();
  }

  public static void TestRiQingAPI_SaleOrder() throws Exception {
    
    String postData = getJson();
    //String url = "https://*****";
    String url = "https://*****";
    HttpsURLConnection conn = null;
    OutputStream out = null;
    String rsp = null;
    byte[] byteArray = postData.getBytes("utf-8");
    try {
      URL uri = new URL(url);
      conn = (HttpsURLConnection) uri.openConnection();
      //忽略證書驗證--Begin
      conn.setHostnameVerifier(new TrustAnyHostnameVerifier());
      //忽略證書驗證--End
      conn.setRequestMethod("POST");
      conn.setDoInput(true);
      conn.setDoOutput(true);
      conn.setRequestProperty("Host", uri.getHost());
      conn.setRequestProperty("Content-Type", "application/json");
      out = conn.getOutputStream();
      out.write(byteArray);
      out.close();
      if(conn.getResponseCode()==200) {
        rsp = getStreamAsString(conn.getInputStream(), "utf-8");
      }else {
        rsp = getStreamAsString(conn.getErrorStream(), "utf-8");
      }
      
      System.out.println(rsp);

    } catch (Exception e) {
      if(null!=out)
        out.close();
      e.printStackTrace();
      
    }
    
  }
  
  /**
   * getJson
   * 
   */
  private static String getJson() {
    return "{" + "\"name\"" + ":" + "\"robo_blogs_zh223\"" + "}";
  }

  private static String getStreamAsString(InputStream stream, String charset) throws IOException {
    try {
      Reader reader = new InputStreamReader(stream, charset);
      StringBuilder response = new StringBuilder();

      final char[] buff = new char[1024];
      int read = 0;
      while ((read = reader.read(buff)) > 0) {
        response.append(buff, 0, read);
      }

      return response.toString();
    } finally {
      if (stream != null) {
        stream.close();
      }
    }
  }

}

//定制Verifier
class TrustAnyHostnameVerifier implements HostnameVerifier {
  public boolean verify(String hostname, SSLSession session) {
    return true;
  }
}

以上就是關于Java如何發送https請求的內容,如果你們有學習到知識或者技能,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

简阳市| 甘泉县| 陵水| 清水县| 高邑县| 鹤峰县| 保山市| 雅江县| 宜宾市| 长治市| 五家渠市| 东莞市| 桦南县| 民丰县| 东阿县| 尚义县| 金塔县| 绥芬河市| 砚山县| 茶陵县| 三原县| 台湾省| 盘锦市| 辽阳市| 天台县| 海阳市| 安吉县| 抚松县| 延庆县| 长治市| 都江堰市| 中山市| 阳新县| 桦川县| 河北省| 卓尼县| 平舆县| 竹北市| 武宁县| 白城市| 军事|