HttpClient post xml 判断响应码 并返回响应xml
时间: 2023-12-16 17:02:44 浏览: 30
好的,下面是Java代码示例:
```java
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
public class XmlHttpPostExample {
public static void main(String[] args) throws Exception {
String url = "http://example.com/api"; // 替换成实际的API地址
String xml = "<request><name>John</name></request>"; // 替换成实际的请求XML
HttpClient httpClient = HttpClientBuilder.create().build();
HttpPost httpPost = new HttpPost(url);
// 设置请求头
httpPost.setHeader("Content-Type", "application/xml;charset=UTF-8");
// 设置请求体
StringEntity requestBody = new StringEntity(xml, "UTF-8");
httpPost.setEntity(requestBody);
// 发送请求并获取响应
HttpResponse response = httpClient.execute(httpPost);
int statusCode = response.getStatusLine().getStatusCode();
if (statusCode == HttpStatus.SC_OK) {
// 如果响应码为200,表示请求成功
HttpEntity responseEntity = response.getEntity();
if (responseEntity != null) {
// 将响应实体转换为字符串
String responseXml = EntityUtils.toString(responseEntity, "UTF-8");
System.out.println(responseXml);
}
} else {
// 如果响应码不为200,表示请求失败
System.out.println("请求失败,响应码为:" + statusCode);
}
}
}
```
在上面的示例中,我们在发送请求后,首先获取响应的状态码,然后根据状态码进行判断:如果状态码为200,则表示请求成功,我们可以从响应实体中获取响应 XML 并将其打印出来;否则,表示请求失败,我们可以打印出响应码。这样就能够判断响应码并返回响应 XML 了。