使用java 实现通信采用HTTP协议,POST表单发送/接收xml格式的报文,post参数名为req。
时间: 2024-04-21 21:27:18 浏览: 89
java http 发送xml报文(java发送xml报文实例+参数)
好的,下面是Java实现通信采用HTTP协议、POST表单发送/接收XML格式的报文,POST参数名为req的示例代码:
```java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
public class HttpPostXML {
public static void main(String[] args) {
try {
String url = "http://example.com/api"; // API接口地址
String xmlData = "<xml><name>John</name><age>30</age></xml>"; // XML报文数据
String param = "req=" + URLEncoder.encode(xmlData, "UTF-8"); // POST参数名为req
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
// 设置HTTP请求头
con.setRequestMethod("POST");
con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
con.setRequestProperty("Content-Length", Integer.toString(param.length()));
// 发送POST请求
con.setDoOutput(true);
con.getOutputStream().write(param.getBytes("UTF-8"));
// 读取响应内容
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());
} catch (Exception e) {
System.out.println(e);
}
}
}
```
这个示例代码中,我们使用Java的HttpURLConnection类来建立HTTP连接,向API接口地址发送POST请求,并读取响应内容。在发送POST请求时,我们需要设置HTTP请求头,指明POST参数名为req,以及XML报文数据。在读取响应内容时,我们使用BufferedReader类逐行读取,并将其存储在StringBuffer类中,最后输出响应内容。
阅读全文