欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java發(fā)送https請求代碼實例

 更新時間:2019年08月27日 11:28:57   作者:隱語者  
這篇文章主要介紹了Java發(fā)送https請求代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

1、前文:通過webService發(fā)送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_zh123\"" + "}";
  }

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Springboot+WebSocket實現(xiàn)一對一聊天和公告的示例代碼

    Springboot+WebSocket實現(xiàn)一對一聊天和公告的示例代碼

    這篇文章主要介紹了Springboot+WebSocket實現(xiàn)一對一聊天和公告的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • JAVA GUI自定義JPanel畫板背景

    JAVA GUI自定義JPanel畫板背景

    這篇文章主要為大家詳細介紹了JAVA GUI自定義JPanel畫板背景的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • springboot訪問不存在的URL時的處理方法

    springboot訪問不存在的URL時的處理方法

    在前后端分離的模式下,當Spring Boot應用接收到一個不存在的URL請求時,通常希望返回一個固定的JSON字符串作為響應,以便前端能夠據此進行相應的處理,本文給大家介紹了springboot訪問不存在的URL時的處理方法,需要的朋友可以參考下
    2024-12-12
  • Java elasticSearch-api的具體操作步驟講解

    Java elasticSearch-api的具體操作步驟講解

    這篇文章主要介紹了elasticSearch-api的具體操作步驟講解,本文通過詳細的步驟介紹和圖文代碼展示講解了該項技術,需要的朋友可以參考下
    2021-06-06
  • mybatis-plus QueryWrapper 添加limit方式

    mybatis-plus QueryWrapper 添加limit方式

    這篇文章主要介紹了mybatis-plus QueryWrapper 添加limit方式,具有很好的參考價值,希望對大家有所
    2022-01-01
  • Spring框架構造注入type屬性實例詳解

    Spring框架構造注入type屬性實例詳解

    這篇文章主要介紹了Spring框架構造注入type屬性實例詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • Java中Springboot集成Kafka實現(xiàn)消息發(fā)送和接收功能

    Java中Springboot集成Kafka實現(xiàn)消息發(fā)送和接收功能

    Kafka是一個高吞吐量的分布式發(fā)布-訂閱消息系統(tǒng),主要用于處理大規(guī)模數(shù)據流,它由生產者、消費者、主題、分區(qū)和代理等組件構成,Kafka可以實現(xiàn)消息隊列、數(shù)據存儲和流處理等功能,在Java中,可以使用Spring Boot集成Kafka實現(xiàn)消息的發(fā)送和接收,感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • Log4j日志分類和過濾敏感字段的實例

    Log4j日志分類和過濾敏感字段的實例

    這篇文章主要介紹了Log4j日志分類和過濾敏感字段的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • MyBatisPlus3如何向數(shù)據庫中存入List

    MyBatisPlus3如何向數(shù)據庫中存入List

    本文主要介紹了Mybatis Plus的類型處理器的使用,通過User.java和UserMapper.xml示例進行詳細的解析,并提供了JSON解析器的使用方法,希望通過這篇文章,可以幫助大家更好的理解和掌握Mybatis Plus的類型處理器
    2024-10-10
  • Spring Boot使用線程池創(chuàng)建多線程的完整示例

    Spring Boot使用線程池創(chuàng)建多線程的完整示例

    在 Spring Boot 2 中,可以使用 @Autowired 注入 線程池(ThreadPoolTaskExecutor 或 ExecutorService),從而管理線程的創(chuàng)建和執(zhí)行,以下是使用 @Autowired 方式注入線程池的完整示例,感興趣的朋友一起看看吧
    2025-03-03

最新評論