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

java 發送post json數據

錢衛國1年前7瀏覽0評論

在Java中,發送POST請求并傳遞JSON數據是非常常見的需求。本文將介紹如何使用Java發送POST請求并傳遞JSON數據。

首先,我們需要使用Java中的HttpURLConnection類來發送POST請求。以下是示例代碼:

URL url = new URL("http://example.com/api");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
conn.setDoOutput(true);
String jsonInputString = "{\"name\": \"John\", \"age\": 30, \"city\": \"New York\"}";
try(OutputStream os = conn.getOutputStream()) {
byte[] input = jsonInputString.getBytes("utf-8");
os.write(input, 0, input.length);           
}

在這個示例代碼中,我們首先創建了一個URL對象來指定要發送請求的地址。然后,我們創建了一個HttpURLConnection對象,并使用setRequestMethod()方法將其設置為POST請求。使用setRequestProperty()方法設置請求頭中的Content-Type為application/json,表明我們要發送的數據為JSON格式。

接著,我們調用conn.setDoOutput(true)方法來啟用輸出流,然后通過調用conn.getOutputStream()方法獲取輸出流并將JSON數據寫入流中。

最后,我們可以通過調用conn.getResponseCode()方法來獲取響應碼,并通過調用conn.getInputStream()方法來獲取響應數據。以下是完整的示例代碼:

URL url = new URL("http://example.com/api");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
conn.setDoOutput(true);
String jsonInputString = "{\"name\": \"John\", \"age\": 30, \"city\": \"New York\"}";
try(OutputStream os = conn.getOutputStream()) {
byte[] input = jsonInputString.getBytes("utf-8");
os.write(input, 0, input.length);           
}
int responseCode = conn.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
try(BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"))) {
StringBuilder response = new StringBuilder();
String responseLine = null;
while ((responseLine = br.readLine()) != null) {
response.append(responseLine.trim());
}
System.out.println(response.toString());
}
} else {
System.out.println("POST request failed");
}

在這個完整的示例代碼中,我們首先獲取響應碼,如果響應碼為200,則使用InputStreamReader將輸入流轉換為BufferedReader,并使用readLine()方法逐行讀取響應數據,并使用StringBuilder將其拼接起來。最后,我們可以將響應數據輸出到控制臺或其他適當的位置。