Java知识点 --- HttpClient简单介绍

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

环境说明:JDK1.8、SpringBoot

第一步:在pom.xml中引入相关jar包

 <dependency>
     <groupId>org.apache.httpcomponents</groupId>
     <artifactId>httpclient</artifactId>
     <version>4.5.3</version>
</dependency>

第二步:1>Get请求的编写

public static String doGetByToken(String url,String tokenKey,String token){

       String rev = "";
       try {
           HttpClient httpClient = new DefaultHttpClient();
           HttpGet httpGet = new HttpGet(url);
           httpGet.addHeader(tokenKey,token);
           httpGet.addHeader("Content-Type", "application/json;charset=utf-8");
	       httpGet.addHeader("User-Agent", "imgfornote");
           HttpResponse response = httpClient.execute(httpGet);
           int code = response.getStatusLine().getStatusCode();
           if (code == 200) {
              rev = EntityUtils.toString(response.getEntity(),Charset.forName("utf-8"));
           }
       } catch(Exception e){
           e.printStackTrace();
           // logger.error("[{}] doGetByToken方法调用异常,异常信息:[{}]", 
           // LocalDateTime.now(), e.getMessage());
       }
      
      return rev;
}

            2>Post请求的编写

public static String doPostByToken(String url, Map<String, Object> params,String 
                        tokenKey,String token) {
        String rev = "";
        try {
            HttpClient httpClient = new DefaultHttpClient();
            HttpPost httpPost = new HttpPost(url);
            httpPost.addHeader(tokenKey, token);
            httpPost.addHeader("Content-Type", "application/json;charset=utf-8");
            httpPost.addHeader("User-Agent", "imgfornote");
            JSONObject obj = new JSONObject();
            Set<Map.Entry<String, Object>> entrySet = params.entrySet();
            Iterator var9 = entrySet.iterator();
            while(var9.hasNext()) {
                Map.Entry<String, Object> entry = (Map.Entry)var9.next();
                obj.put(entry.getKey(), String.valueOf(entry.getValue()));
            }
            StringEntity stringEntity = new StringEntity(obj.toString(), Charset.forName("utf-8"));
            httpPost.setEntity(stringEntity);
            HttpResponse response = httpClient.execute(httpPost);
            int code = response.getStatusLine().getStatusCode();
            if (code == 200) {
              rev = EntityUtils.toString(response.getEntity(), Charset.forName("utf-8"));
            }
        } catch (Exception e) {
            e.printStackTrace();
           // logger.error("[{}] doPostByToken方法调用异常,异常信息:[{}]", 
           // LocalDateTime.now(), e.getMessage());
        }
        return rev;
    }

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值