设为首页 加入收藏

TOP

使用HttpClient调用接口(四)
2017-10-10 21:06:10 】 浏览:4353
Tags:使用 HttpClient 调用 接口
p;   if (map != null) {
            // 声明存放参数的List集合
            List<Nameva luePair> params = new ArrayList<Nameva luePair>();


            // 遍历map,设置参数到list中
            for (Map.Entry<String, Object> entry : map.entrySet()) {
                params.add(new BasicNameva luePair(entry.getKey(), entry.getValue().toString()));
            }


            // 创建form表单对象
            UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(params, "UTF-8");


            // 把表单对象设置到httpPost中
            httpPut.setEntity(formEntity);
        }


        // 使用HttpClient发起请求,返回response
        CloseableHttpResponse response = this.httpClient.execute(httpPut);


        // 解析response封装返回对象httpResult
        HttpResult httpResult = null;
        if (response.getEntity() != null) {
            httpResult = new HttpResult(response.getStatusLine().getStatusCode(),
                    EntityUtils.toString(response.getEntity(), "UTF-8"));
        } else {
            httpResult = new HttpResult(response.getStatusLine().getStatusCode(), "");
        }


        // 返回结果
        return httpResult;
    }


    /**
    * 带参数的Delete请求
    *
    * @param url
    * @param map
    * @return
    * @throws Exception
    */
    public HttpResult doDelete(String url, Map<String, Object> map) throws Exception {


        // 声明URIBuilder
        URIBuilder uriBuilder = new URIBuilder(url);


        // 判断参数map是否为非空
        if (map != null) {
            // 遍历参数
            for (Map.Entry<String, Object> entry : map.entrySet()) {
                // 设置参数
                uriBuilder.setParameter(entry.getKey(), entry.getValue().toString());
            }
        }


        // 2 创建httpGet对象,相当于设置url请求地址
        HttpDelete httpDelete = new HttpDelete(uriBuilder.build());


        // 3 使用HttpClient执行httpGet,相当于按回车,发起请求
        CloseableHttpResponse response = this.httpClient.execute(httpDelete);


        // 4 解析结果,封装返回对象httpResult,相当于显??相应的结果
        // 状态码
        // response.getStatusLine().getStatusCode();
        // 响应体,字符串,如果response.getEntity()为空,下面这个代码会报错,所以解析之前要做非空的判断
        // EntityUtils.toString(response.getEntity(), "UTF-8");
        Htt

首页 上一页 1 2 3 4 5 下一页 尾页 4/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇二叉树的代码实现 下一篇UNIX环境高级编程 心得笔记

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目