java发送post请求并且携带请求头
时间: 2023-11-01 21:55:31 浏览: 189
Java发送post,get请求
在 Java 中发送 POST 请求并携带请求头可以使用 HttpURLConnection 类或者第三方的 HTTP 库,如 Apache HttpClient。
使用 HttpURLConnection 类发送 POST 请求的示例代码如下:
```java
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpPostExample {
public static void main(String[] args) throws Exception {
// 请求地址
String url = "http://example.com/api/v1/post";
// 请求头
String headerKey = "Content-Type";
String headerValue = "application/json";
// 请求参数
String body = "{\"key1\":\"value1\",\"key2\":\"value2\"}";
// 创建 URL 对象
URL obj = new URL(url);
// 创建 HttpURLConnection 对象
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
// 设置请求方式
con.setRequestMethod("POST");
// 设置请求头
con.setRequestProperty(headerKey, headerValue);
// 发送 POST 请求必须设置如下两行
con.setDoOutput(true);
con.setDoInput(true);
// 获取输出流
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
// 发送请求参数
wr.writeBytes(body);
// 关闭输出流
wr.flush();
wr.close();
// 获取响应状态码
int responseCode = con.getResponseCode();
System.out.println("Response Code: " + responseCode);
// 获取响应内容
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
// 关闭输入流
in.close();
// 打印响应内容
System.out.println(response.toString());
}
}
```
使用 Apache HttpClient 发送 POST 请求的示
阅读全文