java httpclient post请求
时间: 2023-07-28 13:08:39 浏览: 106
你可以使用Java的HttpClient库来发送POST请求。以下是一个简单的示例代码:
```java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpHeaders;
import java.net.http.HttpResponse.BodyHandlers;
import java.net.http.HttpRequest.BodyPublishers;
public class HttpClientExample {
public static void main(String[] args) throws Exception {
// 创建一个HttpClient实例
HttpClient client = HttpClient.newHttpClient();
// 创建一个POST请求
HttpRequest request = HttpRequest.newBuilder()
.uri(new URI("http://example.com/api"))
.header("Content-Type", "application/json")
.POST(BodyPublishers.ofString("{\"key\":\"value\"}"))
.build();
// 发送请求并获取响应
HttpResponse<String> response = client.send(request, BodyHandlers.ofString());
// 获取响应状态码
int statusCode = response.statusCode();
System.out.println("Status Code: " + statusCode);
// 获取响应头信息
HttpHeaders headers = response.headers();
System.out.println("Response Headers: " + headers);
// 获取响应体内容
String responseBody = response.body();
System.out.println("Response Body: " + responseBody);
}
}
```
在这个示例中,我们使用HttpClient库发送了一个POST请求到"http://example.com/api",并将请求体设置为JSON格式的字符串。然后,我们获取了响应的状态码、头信息和响应体内容。
请注意,上述代码需要至少Java 11才能运行,因为它使用了Java的新HTTP客户端API。如果你使用的是Java 8或更早的版本,你可以考虑使用Apache HttpClient库或其他第三方库来发送HTTP请求。
阅读全文