目录
处理服务器响应
服务器处理完客户端发来的Http请求后,会将结果发回给客户端,HTTP响应由响应行,响应头和响应体组成,而HTTP请求和包含三个组成部分,即请求行,请求头和请求体。前面只是将服务响应的实体转化为字符串并且打印到控制台,其实对服务器响应我们还可以做很多其他操作。
代码演示
1. 通过HttpClients静态类方法创建HttpClient客户端。
2. 通过HttpGet实例化httpGet方法。
3. 通过client执行httpGet方法并且获得响应。
响应说明:
1). 通过服务器响应可以得到协议版本和相应行,通过响应行又可以进一步得到响应码。当然,也可以调用toString()方法将整个相应行转换为字符串。
2). 通过调用getEntity()方法可以响应实体,通过响应实体又可以得到Content-Type.
3). 最后使用close()方法关闭响应资源
package http;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import java.io.IOException;
/**
* author 大力pig
*/
public class TestSoapPost {
public static void main(String[] args) {
CloseableHttpClient client = HttpClients.createDefault();
HttpGet httpGet = new HttpGet("http://localhost:8080/mobilePhone?model=iPhone+6S");
CloseableHttpResponse response = null;
try {
response = client.execute(httpGet);
System.out.println("protocol version : " + response.getProtocolVersion());
System.out.println("status code : " + response.getStatusLine().getStatusCode());
System.out.println("status line : " + response.getStatusLine().toString());
HttpEntity httpEntity = response.getEntity();
System.out.println(httpEntity.getContentType());
response.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}