httpclient下载文件

2023-11-10

   private static CloseableHttpClient client;

    static {
        PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager();
        connectionManager.setMaxTotal(10);
        connectionManager.setDefaultMaxPerRoute(10);
        connectionManager.setDefaultSocketConfig(SocketConfig.DEFAULT);

        RequestConfig requestConfig = RequestConfig.custom()
                .setConnectTimeout(2 * 1000) // 链接超时时间
                .setSocketTimeout(2 * 1000)//读超时时间(等待数据超时时间)
                .setConnectionRequestTimeout(500)//从池中获取连接超时时间
                .build();
        client = HttpClients.custom()
                .setDefaultRequestConfig(requestConfig)
                .setConnectionManager(connectionManager)
                .setRetryHandler(StandardHttpRequestRetryHandler.INSTANCE)
                .build();
    }

    public static File getFileByUrl2(String url) {
        HttpGet httpGet = new HttpGet(url);
        httpGet.setHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
        try (CloseableHttpResponse response = client.execute(httpGet);) {
            InputStream in = response.getEntity().getContent();
            File image = File.createTempFile("image", url.substring(url.lastIndexOf(".")));
            // 内部使用了try()语法糖的方式会自动关闭
            FileUtils.copyInputStreamToFile(in, image);
        } catch (IOException e) {
            log.info("读取文件异常:{}", url, e);
        }
        return null;
    }

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

httpclient下载文件 的相关文章

随机推荐

  • C语言中的强符号和弱符号

    一 强弱符号 强弱符号针对的是处于同一工程下在不同源文件下定义的全局变量符号 链接器只处理global的符号而不处理local的符号 链接的核心是符号的重定位 在符号引用的地方找到符号定义的地方 包括函数产生的符号和全局变量产生的符号 强符
  • 刷脸支付是当下科技发展的主流旋律

    科技发展的初衷是为人民服务 而更快捷便利的为人民服务 则是当下科技发展的主流旋律 就拿超市结账来说 以前是排着队 等收银员一件件扫完商品码之后 再掏出现金进行结账 这样不仅效率慢 而且收银员还辛苦 后来进化到刷卡 扫描二维码 效率虽然提升了
  • 学术文献也有身份证?

    关注 心仪脑 查看更多脑科学知识的分享 关键词 科普散文 干货分享 生活中 证明你是你很简单 只需拿出你的身份证或护照 其实 学术文献也有如假包换 具有唯一性的身份证 对于经常需要下载文献的同学们来说 肯定再熟悉不过了 那就是文献的DOI号
  • OpenGL渲染结果发生了奇怪的拉伸和奇怪的彩条

    部分代码如下 Load create texture and generate mipmaps int width height unsigned char image SOIL load image 1 jpg width height
  • 【分享】docker引发的172.17.x.x网段无法访问

    前言 想搭建一个测试环境 折腾vmware虚拟机 发现公司的172 17网段怎么都访问不了 使用traceroute 发现 一直走172 17 0 1 无论是怎么更改配置 都是如此 查阅资料发现 当 Docker 启动时 会自动在主机上创建
  • jquery-migrate-1.2.1.min.js 作用

    在网上下载一些 js 插件使用的时候 经常出现这种情况 但是更换低版本 jquery 比如 使用 1 7 版本的 jquery 却不会报错 能正常使用 经过一番搜索 发现是因为高版本 1 9版本以后 不兼容以前的 需要引入一个 jquery
  • linux虚拟机安装后查不到IPV4地址的解决办法

    由于选择了桥接方式 网络配置设置不正确导致 编辑network配置文件 解决此问题 cd etc sysconfig network scripts vi enp0s3 若为做特殊修改 此名字是你打ifconfig查看显示的名字 改成如下配
  • AntDesign Pro安装过程

    详细资料请到官网查看文档 Ant Design Pro相关系列文章 一 AntDesign Pro安装过程 二 基于Ant DesignPro实现通过SpringBoot后台加载自定义菜单 前端部分 三 基于Ant DesignPro实现通
  • Excel数据过大,导出超时解决方案

    问题 随着业务量的增加 数据存储也越来越大 当我们从数据库读取数据生成excel时 往往会出现超时情况 尝试解决方案 考虑直接更改该请求的超时时长 但发现 随着数据增长 依然会出现超时情况 考虑采用多线程的方式 理论可以加快数据的读取效率
  • 二叉树17:路径总和

    主要是我自己刷题的一些记录过程 如果有错可以指出哦 大家一起进步 转载代码随想录 原文链接 代码随想录 leetcode链接 112 路径总和 112 路径总和 题目 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum
  • 【C进阶】深度剖析数据在内存中的存储

    目录 一 数据类型的介绍 1 类型的意义 2 类型的基本分类 二 整形在内存中的存储 1 原码 反码 补码 2 大小端介绍 3 练习 三 浮点型在内存中的存储 1 一个例子 2 浮点数存储规则 一 数据类型的介绍 前面我们已经学习了基本的内
  • 《kubernetes-1.8.0》20-examples-Deployments

    kubernetes 1 8 0 20 examples Deployments kubernetes 1 8 0 测试环境安装部署 时间 2017 12 19 一 基础知识 Deployment 为 Pod 和 ReplicaSet 提供
  • AI 机器学习实践总结

    机器学习基础 什么是机器学习 机器学习是一种从数据生成规则 发现模型 来帮助我们预测 判断 分组和解决问题的技术 机器学习是一种从数据中生产函数 而不是程序员直接编写函数的技术 说起函数就涉及到自变量和因变量 在机器学习中 把自变量叫做特征
  • 力扣(LeetCode)算法_C++——存在重复元素 II

    存在重复元素 II 给你一个整数数组 nums 和一个整数 k 判断数组中是否存在两个 不同的索引 i 和 j 满足 nums i nums j 且 abs i j lt k 如果存在 返回 true 否则 返回 false 示例 1 输入
  • 程序员的自我修养--链接、装载与库笔记:Linux共享库的组织

    共享库 Shared Library 概念 其实从文件结构上来讲 共享库和共享对象没什么区别 Linux下的共享库就是普通的ELF共享对象 由于共享对象可以被各个程序之间共享 所以它也就成为了库的很好的存在形式 很多库的开发者都以共享对象的
  • tensorflow学习笔记二:入门基础

    基本概念 使用TensorFlow前必须明白的基本概念 图 Graph 图描述了计算的过程 TensorFlow使用图来表示计算任务 张量 Tensor TensorFlow使用tensor表示数据 每个Tensor是一个类型化的多维数组
  • java---日期类汇总

    java中常用的日期类有Date SimpleDateFormat Calendar这三种 现在分别对三个类的日常使用进行大概的总结 1 Date类 1 1 基本介绍 一般常用的事Java util Date包下的Date类 在java s
  • 11月7日 Unreal Engine Rider 学习笔记

    创建蓝图接口 添加蓝图Class 添加接口用指针 添加宝箱Actor类 添加Mesh类 首先在类后面添加一个公用接口声明 class ACTIONROUGELIKE API AASItemChest public AActor public
  • 华为OD机试 - 食堂供餐(Java)

    题目描述 某公司员工食堂以盒饭方式供餐 为将员工取餐排队时间降低为0 食堂的供餐速度必须要足够快 现在需要根据以往员工取餐的统计信息 计算出一个刚好能达成排队时间为0的最低供餐速度 即 食堂在每个单位时间内必须至少做出多少价盒饭才能满足要求
  • httpclient下载文件

    private static CloseableHttpClient client static PoolingHttpClientConnectionManager connectionManager new PoolingHttpCli