HttpClient发送post请求到某个接口,不能正常返回数据

阅读: 评论:0

HttpClient发送post请求到某个接口,不能正常返回数据

HttpClient发送post请求到某个接口,不能正常返回数据

       因为是做保险行业的,前段时间做了一个需求,要对接车险平台,用http方式请求数据,但是返回结果提示无数据,很纠结,因为用Postman测试的时候是有数据的,而且用java http包配合IO流写的方法是可以查询到数据的,后来经过尝试发现,可能是请求数据的时候没有指定正确的编码方式导致的,试了一下果然如此,所以跟大家分享一下,不多废话,上代码。

 public static JSONObject sendHttpPost(String body,String uri) throws Exception {
        CloseableHttpClient httpClient = ateDefault();
        HttpPost httpPost = new HttpPost(uri);
        httpPost.addHeader("Accept", "application/json");
        httpPost.addHeader("Connection", "Keep-Alive");
        httpPost.addHeader("Content-Type", "application/json");
        httpPost.setEntity(new StringEntity(body,"UTF-8"));//指定发送数据的编码方式(关键)
        //设置连接超时时间,设置从connect Manager获取Connection 超时时间,请求获取数据的超时时间,单位毫秒。
        // 如果访问一个接口,多少时间内无法返回数据,就直接放弃此次调用
        RequestConfig requestConfig = RequestConfig.custom()
                .setConnectTimeout(5000).setConnectionRequestTimeout(5000)
                .setSocketTimeout(5000).build();
        httpPost.setConfig(requestConfig);
        CloseableHttpResponse response = ute(httpPost);
        HttpEntity entity = Entity();
        String responseContent = String(entity, "UTF-8");
        JSONObject object = JSON.parseObject(responseContent);

        response.close();
        httpClient.close();
        return object;
    }

本文发布于:2024-02-01 00:29:39,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170671857932505.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:不能正常   接口   数据   HttpClient   post
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23