`
dh189
  • 浏览: 135295 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

HttpClient4 实现文件下载

    博客分类:
  • java
阅读更多
HttpClient4 实现文件下载,依赖commons-io-1.4.jar 附在附件中。
代码如下:
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;

import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.conn.params.ConnRoutePNames;
import org.apache.http.impl.client.DefaultHttpClient;

public class TestGoogle {
	public static void main(String[] args) throws Exception {
		downloadFile("http://www.dh189.com/images/dh189/dh189.gif", "c://dh189.gif");
	}

	/**
	 * 下载文件
	 * 
	 * @param url 文件http地址
	 * @param dir 目标文件
	 * @throws IOException
	 */
	public static void downloadFile(String url, String dir) throws IOException {
		HttpClient httpclient = new DefaultHttpClient();
		//设置代理
		httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, new HttpHost("192.168.0.101", 3128));
		HttpGet httpget = new HttpGet(url);
		HttpResponse response = httpclient.execute(httpget);
		HttpEntity entity = response.getEntity();
		InputStream input = null;
		try {
			input = entity.getContent();
			File file = new File(dir);
			FileOutputStream output = FileUtils.openOutputStream(file);
			try {
				IOUtils.copy(input, output);
			} finally {
				IOUtils.closeQuietly(output);
			}
		} finally {
			IOUtils.closeQuietly(input);
		}
	}

}
分享到:
评论

相关推荐

    HttpClient实现文件下载

    ### HttpClient 实现文件下载 #### 一、简介与原理 在Java开发中,经常会遇到需要通过HTTP协议来获取网络资源的需求,例如从Web服务器下载文件。Apache HttpClient 是一个用于发送HTTP请求的Java类库,它提供了...

    HttpClient实现POST GET和文件下载

    HttpClient提供了一种便捷的方式来下载文件: 1. **创建HttpGet请求**:指定要下载文件的URL。 2. **执行请求**:发送请求并获取`HttpResponse`。 3. **准备输出流**:创建一个本地文件,并用`FileOutputStream`...

    HttpClient实现远程下载

    通过HttpClient实现远程下载,本例子通过java代码实现

    HttpClient 4 - 文件上传

    在这个主题中,我们将深入探讨HttpClient 4如何实现文件上传,以及相关的核心概念和技术。 首先,我们需要了解HttpClient 4的基本用法。HttpClient 4依赖于几个关键的组件,包括`httpclient-4.0.jar`(核心客户端库...

    httpclient.jar包下载

    提到code.jar包,这通常是指包含代码实现的库文件,可能包含了HttpClient的额外功能或者特定项目中的自定义代码。在某些情况下,code.jar可能是项目依赖的其他组件,与httpclient.jar一起使用以完成更复杂的任务。...

    httpclient多线程下载(分段下载)实践

    在IT行业中,网络编程是不可或缺的一...通过合理的设计和实现,可以显著提升大文件下载的速度和用户体验。在实际编码中,开发者需要关注线程安全、错误处理、进度监控和资源管理等多个方面,以确保系统的稳定性和性能。

    java使用HttpClient通过url下载文件到本地

    综上所述,通过Java的HttpClient库,可以在Eclipse环境中编写程序,实现从指定URL下载文件到本地的功能。通过理解HttpClient的工作原理和提供的API,开发者可以构建出稳定、高效的文件下载解决方案。

    httpClient4 最新帮助文档

    - HttpClient 4支持异步操作,使用`HttpAsyncClient`,可以实现非阻塞的请求/响应处理。 - 异步请求的回调可以通过`Future<HttpResponse>`和` HttpContext`来处理。 6. **重试策略和异常处理**: - 可以配置重试...

    HttpClient 4文件上传

    本文档将详细介绍如何使用HttpClient 4.x版本实现文件上传功能。 #### 二、核心类与接口介绍 1. **HttpClient**: - `HttpClient`是Apache HttpClient提供的核心接口,用于执行HTTP请求并获取响应。 - 在本例中...

    httpclient.jar 文件下载

    httpclient.jar文件包含了HttpClient的所有核心类和方法,使得开发者可以便捷地集成到自己的Java应用中。 二、主要功能与API 1. HTTP请求:HttpClient允许开发者创建各种类型的HTTP请求,如GET、POST、PUT、DELETE...

    httpclient和RestfuL风格上传下载文件

    在Java开发中,HTTPClient和RESTful风格的接口被广泛用于实现文件的上传与下载功能。HTTPClient是一个强大的HTTP客户端库,而RESTful是一种轻量级的、基于HTTP协议的软件架构风格,常用于构建Web服务。在分布式系统...

    Android使用HttpClient实现上传下载功能并监控进度

    本教程将详细介绍如何利用HttpClient实现文件的上传与下载,并且实时监控进度,以便在UI上显示进度条。 首先,理解HttpClient的基本用法是至关重要的。HttpClient是Apache的一个组件,它提供了丰富的API来构建网络...

    通过 HttpClient 下载 文件

    本主题将深入探讨如何利用HttpClient实现文件的下载功能,同时也会涉及相关的源码解析和辅助工具的使用。 首先,HttpClient是一个Java库,它允许开发者以一种与HTTP协议兼容的方式发送请求并接收响应。它提供了丰富...

    httpclient.jar包下载.zip

    在Java环境中,`httpclient.jar`是HttpClient库的二进制文件,通常通过Maven或Gradle等构建工具作为依赖引入项目。将`httpclient.jar`下载并添加到项目类路径中,即可使用HttpClient的功能。 总的来说,HttpClient...

    org.apache.commons.httpclient 远程下载文件

    在本篇讨论中,我们将深入理解如何使用HttpClient来实现远程文件下载。 首先,我们需要导入必要的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>commons-httpclient ...

    httpclient 文件上传 下载

    文件下载通常通过GET请求实现,HTTPClient 4中的`HttpGet`类就是为此设计的。你可以创建一个`HttpGet`实例,指定文件的URL,然后使用`HttpClient.execute()`方法发送请求。为了保存下载的文件,你可以创建一个`...

    https+spring3+httpclient4多文件上传

    标题 "HTTPS + Spring3 + HttpClient4 多文件上传" 涉及到的是在Java环境中,使用Spring3框架和Apache HttpClient4库实现通过HTTPS协议上传多个文件的技术。这个主题涵盖了几大关键知识点,包括HTTPS安全通信、...

    httpclient4

    - **文件上传下载**:通过POST或PUT请求,HttpClient 可以实现文件的上传,通过GET请求实现文件的下载。 - **模拟登录**:HttpClient 支持多种身份验证机制,可以用来模拟用户登录网站。 5. **最佳实践** - **...

Global site tag (gtag.js) - Google Analytics