httpclient: 设置请求的超时时间,连接超时时间等

设置HTTP请求超时对于提升用户体验、防止性能下降和避免资源占用至关重要。示例中展示了如何在HttpClient的3.x和4.3版本中配置连接和请求超时。
摘要由CSDN通过智能技术生成

1、为什么要设置HTTP timeout?
1、与用户操作相关的接口,如果不设置超时时间,将会出现长时间的无响应,严重影响用户体验。
2、负载很高的系统,因为大量调用耗时长的接口,导致性能急剧下降,从而影响其他正常的业务。
3、某些情况下,HTTP请求可能永远都得不到响应,那么这部分系统资源就一直被占用,直到系统奔溃。

2、示例

public static void main(String[] args) throws Exception{
         
        //创建httpclient
        CloseableHttpClient httpClient = HttpClients.createDefault();
        //创建http get
        HttpGet httpGet = new HttpGet("http://www.taotao.com/");
        //构建超时等配置信息
        RequestConfig config = RequestConfig.custom().setConnectTimeout(1000) //连接超时时间
                .setConnectionRequestTimeout(1000) //从连接池中取的连接的最长时间
                .setSocketTimeout(10 *1000) //数据传输的超时时间
                .setStaleConnectionCheckEnabled(true) //提交请求前测试连接是否可用
                .build();
        //设置请求配置时间
        httpGet.setConfig(config);
         
        //接受返回的数据
        Cl
  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值