java实现http请求post报文格式xml,报文头设置expect参数,
时间: 2023-07-12 18:38:34 浏览: 142
java http 发送xml报文
5星 · 资源好评率100%
在Java中发送HTTP POST请求并设置报文头的expect参数,并且请求体的格式是XML,可以使用Java内置的HttpURLConnection类。以下是一个示例代码:
```java
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.OutputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class HttpPostWithXmlAndExpectHeader {
public static void main(String[] args) throws Exception {
String url = "http://example.com/api";
String xmlBody = "<user><name>John</name><age>30</age></user>";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
// 设置HTTP请求方法为POST
con.setRequestMethod("POST");
// 设置报文头的expect参数
con.setRequestProperty("Expect", "100-continue");
// 设置请求体格式为XML
con.setRequestProperty("Content-Type", "application/xml");
// 设置请求体
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
os.write(xmlBody.getBytes());
os.flush();
os.close();
// 获取响应
int responseCode = con.getResponseCode();
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 Code : " + responseCode);
System.out.println("Response Body : " + response.toString());
}
}
```
在代码中,我们首先建立一个URL对象,然后使用HttpURLConnection打开连接。我们设置HTTP请求方法为POST,并设置报文头的expect参数为"100-continue"。接下来,我们设置请求体格式为XML,并设置请求体并发送请求。最后,我们获取响应并输出响应码和响应体。
阅读全文