91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

浦县| 红河县| 麟游县| 彰武县| 沈丘县| 元谋县| 郁南县| 黑龙江省| 阜阳市| 呼伦贝尔市| 称多县| 邻水| 砀山县| 石景山区| 桐柏县| 昌江| 丽水市| 南郑县| 常州市| 清丰县| 奈曼旗| 五台县| 利辛县| 武城县| 宾阳县| 通许县| 平顶山市| 高唐县| 万年县| 遂宁市| 韶关市| 西华县| 栖霞市| 莲花县| 密云县| 花莲市| 边坝县| 涟源市| 离岛区| 岳阳市| 太谷县|