色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java https請求json

阮建安2年前8瀏覽0評論

在java開發(fā)中,我們經(jīng)常需要進行http請求。而在https請求中,我們經(jīng)常需要發(fā)送json格式的請求數(shù)據(jù)。本文將介紹如何使用java進行https請求,并且發(fā)送json數(shù)據(jù)。

在java中,可以使用HttpURLConnection類來進行https請求。首先需要建立https連接,其中需要設(shè)置證書信任。然后需要設(shè)置連接的請求方法為POST,同時設(shè)置請求頭信息和請求體數(shù)據(jù)為json格式。最后,需要讀取服務(wù)端返回的響應(yīng)數(shù)據(jù),進行數(shù)據(jù)解析。

String url = "https://example.com/api";
String body = "{\"key\":\"value\"}";
TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager(){
public java.security.cert.X509Certificate[] getAcceptedIssuers(){
return new java.security.cert.X509Certificate[]{};
}
public void checkClientTrusted(X509Certificate[] certs, String authType){
}
public void checkServerTrusted(X509Certificate[] certs, String authType){
}
}};
HttpsURLConnection.setDefaultHostnameVerifier((hostname, session) ->true);
SSLContext ssl = SSLContext.getInstance("SSL");
ssl.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(ssl.getSocketFactory());
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("Content-Type", "application/json");
con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(body);
wr.flush();
wr.close();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
String responseData = response.toString();

在以上代碼中,我們創(chuàng)建了一個url為"https://example.com/api"的https連接,并且發(fā)送了一個json格式的數(shù)據(jù):{"key":"value"}。其中,我們使用了一個自定義的TrustManager來信任證書,并且忽略了主機名的驗證。在請求頭中,我們設(shè)置請求體的數(shù)據(jù)類型為json格式。之后,我們讀取了服務(wù)端返回的數(shù)據(jù),并且將其轉(zhuǎn)換成了字符串類型的responseData。

在使用java進行https請求時,需要注意一些事項。首先,需要確認(rèn)服務(wù)端的證書是否可信。其次,需要設(shè)置請求頭中的請求體數(shù)據(jù)類型。最后,需要正確讀取服務(wù)端返回的數(shù)據(jù)進行解析。