通过webService调用远程服务,返回了一个文件下载地址,现在需要从这个下载地址下载,我采用了servlet来实现。在网上发现了一个比较好的方法,现在和大家分享一下,如果有不完善的地方,还请多多指教。

需要用到的org.apache.commons.httpclient.jar 已上传。

一下就是我的代码:

 1 import java.io.File;
 2 import java.io.FileOutputStream;
 3 import java.io.IOException;
 4
 5 import javax.servlet.ServletException;
 6 import javax.servlet.http.HttpServlet;
 7 import javax.servlet.http.HttpServletRequest;
 8 import javax.servlet.http.HttpServletResponse;
 9
10 import org.apache.commons.httpclient.HttpClient;
11 import org.apache.commons.httpclient.methods.GetMethod;
12
13 public class GetAllPolicyServlet extends HttpServlet {
14
15     public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
16         doPost(request, response);
17     }
18
19     public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
20         HttpClient client = new HttpClient();
21         GetMethod get = null;
22         try {
23                         //需要导入  org.apache.commons.httpclient.jar包  该文件需要另外下载
24             String path = "http://58.83.209.199:91/download/yeexing/201305090954476272020.zip";
25             get = new GetMethod(path);
26             int i = client.executeMethod(get);
27             if (200 == i) {
28                 File storeFile = new File("d:/201305090954476272020.zip");
29                 FileOutputStream output = new FileOutputStream(storeFile);
30                 output.write(get.getResponseBody());
31                 output.close();
32             } else {
33                 System.out.println("no pic");
34             }
35         } catch (Exception e) {
36             System.out.println("no pic");
37         } finally {
38             get.releaseConnection();
39             client.getHttpConnectionManager().closeIdleConnections(0);
40         }
41     }
42
43 }

转载于:https://www.cnblogs.com/junl0513/archive/2013/05/09/3070126.html

servlet httpClient 下载远程文件相关推荐

  1. 如何通过Java下载远程文件到浏览器

    如何通过Java下载远程文件到浏览器 整体思路: 首先获取远程资源的文件输入流,使用HttpServletResponse的输出流,通过Java io转换将输入流转成输出流,写入指定文件,下载到浏览器 ...

  2. PHP从远程mysql下载文件_PHP下载远程文件到指定目录

    PHP用curl可以轻松实现下载远程文件到指定目录: class Download { public static function get($url, $file) { return file_pu ...

  3. php 远程下载大文件,php下载远程文件(支持断点续传,支持超大文件)

    断点下载的原理:http请求头添加Range参数告诉文件服务器端需要的字节范围 例如1个文本文件的字节为1000, 第一次请求Range: bytes=0-500 第二次请求Range: bytes= ...

  4. java下载远程文件到本地

    /**       * 下载远程文件并保存到本地        * @param remoteFilePath 远程文件路径        * @param localFilePath 本地文件路径  ...

  5. php远程下载到本地,PHP 下载远程文件到本地的简单示例

    搜索热词 对PHP下载远程文件到本地存储的代码感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧! /** * PHP下载远程文件到本地存储的代码 * * @param * @a ...

  6. Linux篇之命令行下载远程文件curl命令的介绍与使用

    一.curl简介 通常情况下,当我们不想在本机下载文件,上传至服务器时,觉得这样过于麻烦,步骤繁琐. 那么该怎么办呢? 在Linux中,服务器下载文件,提供了一种curl命令,它可以实现在Linux中 ...

  7. php 获取远程文件mine,使用CertUtil.exe下载远程文件

    使用CertUtil.exe下载远程文件 1.前言 经过国外文章信息,CertUtil.exe下载恶意软件的样本. 2.实现原理 Windows有一个名为CertUtil的内置程序,可用于在Windo ...

  8. PHP批量查询数据库下载远程文件脚本实例

    下面是脚本文件代码: <?php //ignore_user_abort(true);//后台执行 set_time_limit(0); $startTime = '2016-12-25 00: ...

  9. php fopen下载文件,php fopen下载远程文件的函数 | 学步园

    //下载附件 function get_file($url, $folder = "./") { set_time_limit (24 * 60 * 60); // 设置超时时间 ...

最新文章

  1. 牛客网数据开发题库_练习SQL利器,牛客网SQL实战题库
  2. 智能电视:跳出那个坑
  3. 数学实验matlab课后习题答案,matlab数学实验教程答案
  4. 利用dns解析来实现网站的负载均衡
  5. hiveserver2和metastore简要概括作用
  6. python命令行输入参数_Python3.x那些事儿:[3]命令行参数传递
  7. 高性能MySQL——查询性能优化
  8. SDN的发展壮大确实在蚕食物理网络基础设施的阵地
  9. 遭遇棘手 交接_Librosa的城市声音分类-棘手的交叉验证
  10. twitter api_Java应用程序上的Twitter API
  11. Windows下打开Url 代码封装 C++
  12. 《JavaScript启示录》——1.7 原始值(或简单值)
  13. python绘制如下图形、小三角形边长20_OpenGL学习脚印_ 绘制移动三角形 - 王定桥的专栏.pdf...
  14. 缓存系列文章–无底洞问题
  15. 清华自动化大一 C++作业引爆全网,特奖得主、阿里P6:我们也做不到
  16. 呼和浩特民族学院计算机系宿舍,呼和浩特民族学院有个“励志寝室”
  17. linux驱动程序的测试,Linux驱动学习笔记(4)字符设备驱动测试
  18. 蓝桥杯——算法训练——共线
  19. 2023 爱蜗影视双端源码 附搭建教程
  20. Nothing Phone官宣,手机厂新秀靠啥出圈?

热门文章

  1. Android利用RecyclerView实现列表倒计时
  2. python面向对象之方法
  3. laravel 发送带附件的邮件
  4. 每周一荐: Google Dictionary,The Polar Express
  5. 官网的Ext direct包中.NET版的问题
  6. CentOS 7.0关闭默认防火墙启用iptables防火墙
  7. BCH与BCE共享比特币之名
  8. java 库存 进销存 商户 多用户管理系统 SSM springmvc 项目源码
  9. 路由及路由器工作原理深入解析3:路由与port
  10. 在C++工程中设置全局函数