处理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。