欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java https請求json

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

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

在java中,可以使用HttpURLConnection類來進(jìn)行https請求。首先需要建立https連接,其中需要設(shè)置證書信任。然后需要設(shè)置連接的請求方法為POST,同時(shí)設(shè)置請求頭信息和請求體數(shù)據(jù)為json格式。最后,需要讀取服務(wù)端返回的響應(yīng)數(shù)據(jù),進(jìn)行數(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)建了一個(gè)url為"https://example.com/api"的https連接,并且發(fā)送了一個(gè)json格式的數(shù)據(jù):{"key":"value"}。其中,我們使用了一個(gè)自定義的TrustManager來信任證書,并且忽略了主機(jī)名的驗(yàn)證。在請求頭中,我們設(shè)置請求體的數(shù)據(jù)類型為json格式。之后,我們讀取了服務(wù)端返回的數(shù)據(jù),并且將其轉(zhuǎn)換成了字符串類型的responseData。

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