HttpClient调用第三方接口 底层代码的封装 方便以后使用

这篇博客介绍了如何在Java项目中封装HttpClient工具类,用于高效调用第三方API接口。作者提供了不同请求方式的封装示例,并展示了在Service及Controller层如何使用这些工具方法获取所需数据。注意在视图解析时,需要正确使用对象属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在做一个项目,使用的是api接口,需要使用httpClient调用第三方的接口 特意整理了一下代码 封装了httpclientUtil 方便使用
首先封装各种不同的请求方式

public class HttpClientUtil {
   
   

    private final static Logger logger = LoggerFactory.getLogger(HttpClientUtil.class.getSimpleName());

    // 连接超时
    private static final int connection_timeout = 1000 * 60 * 2;
    // 指定时间内服务器端没有反应
    private static final int socket_timeout = 1000 * 40;
    // 请求超时
    private static final int request_timeout = 1000 * 40;
    // 每个主机
    private static int max_host_connections = 2000;
    // 总的连接数
    private static int max_total_connections = 5000;

    private static final String charset = "utf-8";
    // 自定义头前缀
    private static final String filter_header_prefix = "httpclient_";
    // 请求格式,默认json格式
    private static final String request_format = "httpclient_format";

    private static HttpClient httpClient = null;
    private static Set<String> excludeHeaders = new HashSet<String>();
    private static RequestConfig default_request_config = null;
    static {
        default_request_config = RequestConfig.custom().setSocketTimeout(socket_timeout).setConnectTimeout(
                connection_timeout).setConnectionRequestTimeout(request_timeout).build();

        PoolingHttpClientConnectionManager connMgr = new PoolingHttpClientConnectionManager();
        connMgr.setMaxTotal(max_total_connections);
        connMgr.setDefaultMaxPerRoute(max_host_connections);

        HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
        httpClientBuilder.setConnectionManager(connMgr);
        httpClientBuilder.setDefaultRequestConfig(default_request_config);

        ConnectionConfig connConfig = ConnectionConfig.custom().setCharset(Charset.forName(charset)).build();

        httpClientBuilder.setDefaultConnectionConfig(connConfig);

        httpClient = httpClientBuilder.build();
        //过滤头
        excludeHeaders.add(HTTP.CON
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值