日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HTTPS请求实现框架

發布時間:2024/7/5 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HTTPS请求实现框架 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

HTTPS主要用于安全傳輸數據,從代碼的角度來看,HTTPS主要使用了X509的方式進行了加密,至于密鑰(證書)在什么地方,可能在購買HTTPS服務的時候被統一放置在DNS服務器之類的地方了吧(純推測):


package com.sahadev;import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.URL; import java.security.SecureRandom; import java.security.cert.X509Certificate;import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.KeyManager; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSocketFactory; import javax.net.ssl.X509TrustManager;import org.apache.http.conn.ssl.AllowAllHostnameVerifier;public class HttpClient {private static final AllowAllHostnameVerifier HOSTNAME_VERIFIER = new AllowAllHostnameVerifier();private static X509TrustManager xtm = new X509TrustManager() {public void checkClientTrusted(X509Certificate[] chain, String authType) {}public void checkServerTrusted(X509Certificate[] chain, String authType) {}public X509Certificate[] getAcceptedIssuers() {return null;}};private static X509TrustManager[] xtmArray = new X509TrustManager[] { xtm };private static HttpsURLConnection conn = null;public static String sendHttpsPost(String path, String params) throws Exception {// 組拼實體數據byte[] entity = params.getBytes("UTF-8");URL url = new URL(path);conn = (HttpsURLConnection) url.openConnection();if (conn instanceof HttpsURLConnection) {// Trust all certificatesSSLContext context = SSLContext.getInstance("TLS");context.init(new KeyManager[0], xtmArray, new SecureRandom());SSLSocketFactory socketFactory = context.getSocketFactory();((HttpsURLConnection) conn).setSSLSocketFactory(socketFactory);((HttpsURLConnection) conn).setHostnameVerifier(HOSTNAME_VERIFIER);}conn.setConnectTimeout(5 * 1000);conn.setReadTimeout(30000);conn.setDoInput(true);conn.setDoOutput(true);// 允許輸出數據conn.setUseCaches(false);conn.setRequestMethod("POST");conn.setRequestProperty("Content-Type", "application/json");conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-CN; rv:1.9.2.6)");OutputStream outStream = new DataOutputStream(conn.getOutputStream());outStream.write(entity);outStream.flush();outStream.close();BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));StringBuffer sb = new StringBuffer();String line;while ((line = br.readLine()) != null) {sb.append(line);}return sb.toString();}public static void closeConnection() {if (conn != null)conn.disconnect();} }

總結

以上是生活随笔為你收集整理的HTTPS请求实现框架的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。