Java HTTP客户端:GET/POST请求示例
在Java中,我们可以使用HttpURLConnection或者HttpClient来发送HTTP GET或POST请求。这里我将提供这两种方法的示例。
- 使用HttpURLConnection:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpClientGETExample {
public static void main(String[] args) {
// 创建URL对象
URL url = new URL("http://example.com");
// 创建HttpURLConnection对象
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// 设置请求方法(GET或POST)
connection.setRequestMethod("GET");
// 如果是POST请求,需要设置请求体
// connection.setDoOutput(true);
// String postBody = "Your POST body";
// byte[] postBytes = postBody.getBytes();
// connection.getOutputStream().write(postBytes);
// 获取响应状态码
int responseCode = connection.getResponseCode();
// 打印响应状态码
System.out.println("Response Code: " + responseCode);
// 读取并打印响应内容(如果是POST请求,需要处理请求体)
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()))));
String outputLine;
while ((outputLine = reader.readLine()) != null)) {
System.out.println(outputLine);
}
}
}
- 使用HttpClient:
如果你使用的是Apache HttpClient,那么示例会稍微有所不同。这里我提供一个基本的GET请求示例:
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
public class HttpClientGETExample {
public static void main(String[] args) throws Exception {
// 创建HttpClient对象
CloseableHttpClient httpClient = HttpClients.createDefault();
// 创建HttpGet请求对象
HttpGet httpGet = new HttpGet("http://example.com");
try (HttpResponse response = httpClient.execute(httpGet)) {
// 获取响应状态码
int statusCode = response.getStatusLine().getStatusCode();
System.out.println("Response Status Code: " + statusCode);
// 如果状态码为200(OK),则读取并打印响应内容
if (statusCode == 200) {
String responseContent = EntityUtils.toString(response.getEntity(), "UTF-8"));
System.out.println("Response Content: " + responseContent);
}
} catch (Exception e) {
System.err.println(e.getMessage());
e.printStackTrace();
}
}
}
以上示例展示了如何使用Java的HttpURLConnection或者HttpClient发送GET请求。
还没有评论,来说两句吧...