處理Java HTTP響應需要使用Java的HttpURLConnection
類或者第三方庫,如Apache HttpClient或OkHttp。這里我將向您展示如何使用HttpURLConnection
類處理HTTP響應。
首先,您需要創建一個HttpURLConnection
實例并發起請求。然后,您可以使用getInputStream()
方法獲取響應的輸入流,使用getResponseCode()
方法獲取HTTP狀態碼,使用getContentType()
方法獲取響應的內容類型。
以下是一個簡單的示例:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpResponseExample {
public static void main(String[] args) {
try {
// 創建URL對象
URL url = new URL("https://api.example.com/data");
// 打開連接并強制轉換為HttpURLConnection
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// 設置請求方法(GET或POST)
connection.setRequestMethod("GET");
// 設置請求屬性(如Content-Type、Accept等)
connection.setRequestProperty("Content-Type", "application/json");
connection.setRequestProperty("Accept", "application/json");
// 獲取HTTP狀態碼
int responseCode = connection.getResponseCode();
System.out.println("Response Code: " + responseCode);
// 根據狀態碼判斷請求是否成功
if (responseCode >= 200 && responseCode < 300) {
// 獲取響應內容類型
String contentType = connection.getContentType();
System.out.println("Response Content Type: " + contentType);
// 讀取響應輸入流
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
// 輸出響應內容
System.out.println("Response: " + response.toString());
} else {
System.out.println("Request failed with status code: " + responseCode);
}
// 關閉連接
connection.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}
這個示例展示了如何使用HttpURLConnection
類發起一個HTTP GET請求,處理響應并輸出響應內容。您可以根據需要修改請求方法、請求屬性以及處理響應的方式。如果您需要處理更復雜的HTTP請求和響應,建議使用第三方庫,如Apache HttpClient或OkHttp。