使用Apache的HttpClient发送http请求的过程
1.第一步,获取一个CloseableHttpClient对象,用来发送httppost和httpget请求
2.第二步,创建一个HttpPost或者HttpGet对象,用来设置请求的url,参数,post请求的body实体等
3.第三步,使用CloseableHttpClient对象的execute将请求发送出去,并得到一个CloseableHttpResponse对象
4.第四步,使用ClooseableHttpResponse对象的方法来处理响应
发送无参数的Http请求
public void doHttpGet(){
CloseableHttpClient httpClient= HttpClientBuilder.create().build();
HttpGet httpGet=new HttpGet("https://www.baidu.com/");
CloseableHttpResponse response=null;
//使用httpclient发送get请求
try{
response=httpClient.execute(httpGet);
HttpEntity entity=response.getEntity();
System.out.println("响应长度 "+entity.getContentLength());
System.out.println("响应状态 "+response.getStatusLine());
System.out.println("响应内容 "+ EntityUtils.toString(entity));
}catch (ClientProtocolException e){
e.printStackTrace();
}catch (IOException e){
e.printStackTrace();
}finally {
try {
httpClient.close();
}catch (IOException e){
e.printStackTrace();
}
try {
response.close();
}catch (IOException e){
e.printStackTrace();
}
}
get请求带查询参数 query param
直接在url中拼接参数
public void doGetWithParam(){
CloseableHttpClient httpClient=HttpClientBuilder.create().build();
String url="http://httpbin.org/get"+"?"+"key1=value1";
HttpGet httpGet=new HttpGet(url);
CloseableHttpResponse response=null;
try {
response = httpClient.execute(httpGet);
System.out.println(httpGet.getURI());
HttpEntity httpEntity=response.getEntity();
Sy