Java的HttpURLConnection類常用于與HTTP服務器進行通信。HttpURLConnection類提供了許多方法來發送請求和接收響應。其中一個方法是HttpPost,它可用于發送HTTP POST請求。在POST請求中,數據通常作為請求主體發送。其中,JSON是最流行的請求主體格式之一。
// 創建HttpPost請求 HttpPost httpPost = new HttpPost("http://example.com/api"); // 將JSON作為請求主體添加到HttpPost請求中 StringEntity jsonRequest = new StringEntity("{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}"); httpPost.setEntity(jsonRequest); // 添加請求頭 httpPost.setHeader("Content-Type", "application/json"); // 執行請求并獲取響應 CloseableHttpClient httpClient = HttpClients.createDefault(); CloseableHttpResponse httpResponse = httpClient.execute(httpPost); // 解析響應數據 String jsonResponse = EntityUtils.toString(httpResponse.getEntity());
在上面的示例中,我們首先創建了一個HttpPost請求,將目標URL設置為"http://example.com/api"。接下來,我們創建了一個StringEntity對象,它包含了我們想要發送的JSON數據。我們將StringEntity對象設置為HttpPost請求的實體,這樣數據就會被添加到POST請求的主體中。在請求頭中,我們使用"Content-Type: application/json"指定請求主體的格式為JSON。最后,我們使用HttpClient執行HttpPost請求并獲取響應。響應數據被讀取并解析為字符串。