HttpClient 4.3和3完全不兼容。
所以要注意的地方很多。
基本请求的大概步骤;
1、首先,先创建一个客户端。
<pre name="code" class="java">CloseableHttpClient client = HttpClientBuilder.create().build();
2、通过客户端向需要交互的网址发送POST或者GET请求。
<pre name="code" class="java">instance.execute(new HttpPost(SAMPLE_URL));
instance.execute(new HttpGet(SAMPLE_URL));<span style="font-family: 'Courier New';"> </span>
3、获取返回的response值。
CloseableHttpResponse response = instance.execute(GET or POST);
4、读取response的状态值,并对其进行操作。包括直接爬、重定向、丢弃等等。
response.getStatusLine().getStatusCode()//获取状态码
5、将response的BODY拿到并转化为需要的字符串或者说输入流等等。
String bodyAsString = EntityUtils.toString(response.getEntity());
6、请求重试可以采用内置的方法实现
HttpRequestRetryHandler
,也可以采用以下方法:
int i = 0;
while (true ) {
response =null ;
try{
response = client.execute(get );
} catch(Exception e ){
if(i >3){
break;
}
i++;
}
if (response != null ) {
break;
}
}
7、开搞。
其他的一些操作,可以参考下面的blog,本人也是从这个blog中学到的第一点httpclient中的东西: