Httpclient的使用

    1. Httpclient的使用
      1. 什么是httpclient

HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。
下载地址:

http://hc.apache.org/

 

 

      1. 添加依赖

 

需要把httpclient的jar包添加到工程中。只需要在工程中添加httpclient的依赖。

 

 

      1. 使用方法
        1. 使用httpclient执行get请求

@Test
    public void httpClient(){
        try{

            //建立对象
                CloseableHttpClient cclient=HttpClients.createDefault();
                //创建get对象
                HttpGet get=new HttpGet("http://guidingadmin.gpmart.cn/");
                //执行请求
                CloseableHttpResponse res=cclient.execute(get);
                
                //获取响应的状态码
                int status=res.getStatusLine().getStatusCode();
                System.out.println("状态码:"+status);
                //
                HttpEntity ent=res.getEntity();
                //
                String s=EntityUtils.toString(ent, "utf-8");
                
                System.out.println("返回结果:"+s);
                //关闭
                res.close();
                cclient.close();
                
        }catch(Exception e){
            
        }
        
    }

 

        1. 执行get请求带参数

@Test

public void doGetWithParam() throws Exception{

//创建一个httpclient对象

CloseableHttpClient httpClient = HttpClients.createDefault();

//创建一个uri对象

URIBuilder uriBuilder = new URIBuilder("http://www.sogou.com/web");

uriBuilder.addParameter("query", "花千骨");

HttpGet get = new HttpGet(uriBuilder.build());

//执行请求

CloseableHttpResponse response = httpClient.execute(get);

//取响应的结果

int statusCode = response.getStatusLine().getStatusCode();

System.out.println(statusCode);

HttpEntity entity = response.getEntity();

String string = EntityUtils.toString(entity, "utf-8");

System.out.println(string);

//关闭httpclient

response.close();

httpClient.close();

}

 

        1. 使用httpclient执行post请求

@Test

public void doPost() throws Exception {

CloseableHttpClient httpClient = HttpClients.createDefault();

 

//创建一个post对象

HttpPost post = new HttpPost("http://localhost:8082/httpclient/post.html");

//执行post请求

CloseableHttpResponse response = httpClient.execute(post);

String string = EntityUtils.toString(response.getEntity());

System.out.println(string);

response.close();

httpClient.close();

 

}

 

        1. 带参数post请求

 

@Test

public void doPostWithParam() throws Exception{

CloseableHttpClient httpClient = HttpClients.createDefault();

 

//创建一个post对象

HttpPost post = new HttpPost("http://localhost:8082/httpclient/post.html");

//创建一个Entity。模拟一个表单

List<NameValuePair> kvList = new ArrayList<>();

kvList.add(new BasicNameValuePair("username", "zhangsan"));

kvList.add(new BasicNameValuePair("password", "123"));

 

//包装成一个Entity对象

StringEntity entity = new UrlEncodedFormEntity(kvList, "utf-8");

//设置请求的内容

post.setEntity(entity);

 

//执行post请求

CloseableHttpResponse response = httpClient.execute(post);

String string = EntityUtils.toString(response.getEntity());

System.out.println(string);

response.close();

httpClient.close();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值