如果是post请求需要添加headers呢
时间: 2024-04-21 08:22:19 浏览: 10
如果你需要发送一个POST请求,并添加一些HTTP头部信息,可以通过`setRequestProperty`方法来设置请求头。以下是一个示例:
```java
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class Main {
public static void main(String[] args) {
String url = "http://example.com";
String postData = "key1=value1&key2=value2";
try {
URL urlObj = new URL(url);
HttpURLConnection connection = (HttpURLConnection) urlObj.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
connection.setDoOutput(true);
DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream());
outputStream.writeBytes(postData);
outputStream.flush();
outputStream.close();
int responseCode = connection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
StringBuilder response = new StringBuilder();
while ((line = reader.readLine()) != null) {
response.append(line);
}
reader.close();
System.out.println(response.toString());
} else {
System.out.println("HTTP request failed. Response Code: " + responseCode);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
上述代码会发送一个带有POST数据的POST请求,并设置Content-Type头部为`application/x-www-form-urlencoded`。你可以根据需要修改`postData`变量来传递不同的数据。同样,你可以根据自己的需求进行适当的修改和扩展。