- 浏览: 513751 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (563)
- 工作经验 (12)
- 数据库 (13)
- Servlet (10)
- Struts2 (1)
- Spring (25)
- Eclipse (5)
- Hibernate (5)
- Eclips (8)
- HTTP (7)
- J2EE (21)
- EHcache (1)
- HTML (11)
- 工具插件使用 (20)
- JPA (2)
- 杂谈 (17)
- 数据结构与算法 (3)
- Cloud Foundry (1)
- 安全 (10)
- J2SE (57)
- SQL (9)
- DB2 (6)
- 操作系统 (2)
- 设计模式 (1)
- 版本代码管理工具 (13)
- 面试 (10)
- 代码规范 (3)
- Tomcat (12)
- Ajax (5)
- 异常总结 (11)
- REST (2)
- 云 (2)
- RMI (3)
- SOA (1)
- Oracle (12)
- Javascript (20)
- jquery (7)
- JSP自定义标签 (2)
- 电脑知识 (5)
- 浏览器 (3)
- 正则表达式 (3)
- 建站解决问题 (38)
- 数据库设计 (3)
- git (16)
- log4j (1)
- 每天100行代码 (1)
- socket (0)
- java设计模式 耿祥义著 (0)
- Maven (14)
- ibatis (7)
- bug整理 (2)
- 邮件服务器 (8)
- Linux (32)
- TCP/IP协议 (5)
- java多线程并发 (7)
- IO (1)
- 网页小工具 (2)
- Flash (2)
- 爬虫 (1)
- CSS (6)
- JSON (1)
- 触发器 (1)
- java并发 (12)
- ajaxfileupload (1)
- js验证 (1)
- discuz (2)
- Mysql (14)
- jvm (2)
- MyBatis (10)
- POI (1)
- 金融 (1)
- VMWare (0)
- Redis (4)
- 性能测试 (2)
- PostgreSQL (1)
- 分布式 (2)
- Easy UI (1)
- C (1)
- 加密 (6)
- Node.js (1)
- 事务 (2)
- zookeeper (3)
- Spring MVC (2)
- 动态代理 (3)
- 日志 (2)
- 微信公众号 (2)
- IDEA (1)
- 保存他人遇到的问题 (1)
- webservice (11)
- memcached (3)
- nginx (6)
- 抓包 (1)
- java规范 (1)
- dubbo (3)
- xwiki (1)
- quartz (2)
- 数字证书 (1)
- spi (1)
- 学习编程 (6)
- dom4j (1)
- 计算机系统知识 (2)
- JAVA系统知识 (1)
- rpcf (1)
- 单元测试 (2)
- php (1)
- 内存泄漏cpu100%outofmemery (5)
- zero_copy (2)
- mac (3)
- hive (3)
- 分享资料整理 (0)
- 计算机网络 (1)
- 编写操作系统 (1)
- springboot (1)
最新评论
-
masuweng:
亦论一次OutOfMemoryError的定位与解错 -
变脸小伙:
引用[color=red][/color]百度推广中运用的技术 ...
Spring 3 mvc中返回pdf,json,xml等不同的view -
Vanillva:
不同之处是什么??
Mybatis中的like查询 -
thrillerzw:
转了。做个有理想的程序员
有理想的程序员必须知道的15件事 -
liujunhui1988:
觉得很有概括力
15 个必须知道的 Java 面试问题(2年工作经验)
源:http://weifly.iteye.com/blog/145457
评:
最近在项目中用到了HttpClient类库,有一个需求是下载网站中的图片,但是发现下载的图片不能打开,在网上搜索类似问题,没有找到解决的办法,无奈只得查看HttpClient的源代码,自己解决这个问题了。
在HttpMethodBase中发现如下代码:
java 代码
public String getResponseBodyAsString() throws IOException {
byte[] rawdata = null;
if (responseAvailable()) {
rawdata = getResponseBody();
}
if (rawdata != null) {
return EncodingUtil.getString(rawdata, getResponseCharSet());
} else {
return null;
}
}
其中在返回网络资源的内容时,使用了指定的编码对网页内容或图片内容进行了编码,这样,对于图片来说内容当然不能显示了,所以在获得图片内容时要使用如下的方法:
java 代码
public byte[] getResponseBody() throws IOException
或
public InputStream getResponseBodyAsStream() throws IOException
在把返回的内容存储到文件中,这样就实现了图片的自动下载,下面的代码演示了下载图片的过程
java 代码
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.GetMethod;
/**
* 用HttpClient下载图片
* @author wei
*/
public class TestDownImage {
public static void main(String[] args) throws IOException{
HttpClient client = new HttpClient();
GetMethod get = new GetMethod("http://images.sohu.com/uiue/sohu_logo/beijing2008/2008sohu.gif");
client.executeMethod(get);
File storeFile = new File("c:/2008sohu.gif");
FileOutputStream output = new FileOutputStream(storeFile);
//得到网络资源的字节数组,并写入文件
output.write(get.getResponseBody());
output.close();
}
}
HttpClient是Apache组织的一个项目,作为Http客户端类库,功能十分强大,正在关注这个项目中,欢迎大家和我交流使用HttpClient类库的经验!
评:
最近在项目中用到了HttpClient类库,有一个需求是下载网站中的图片,但是发现下载的图片不能打开,在网上搜索类似问题,没有找到解决的办法,无奈只得查看HttpClient的源代码,自己解决这个问题了。
在HttpMethodBase中发现如下代码:
java 代码
public String getResponseBodyAsString() throws IOException {
byte[] rawdata = null;
if (responseAvailable()) {
rawdata = getResponseBody();
}
if (rawdata != null) {
return EncodingUtil.getString(rawdata, getResponseCharSet());
} else {
return null;
}
}
其中在返回网络资源的内容时,使用了指定的编码对网页内容或图片内容进行了编码,这样,对于图片来说内容当然不能显示了,所以在获得图片内容时要使用如下的方法:
java 代码
public byte[] getResponseBody() throws IOException
或
public InputStream getResponseBodyAsStream() throws IOException
在把返回的内容存储到文件中,这样就实现了图片的自动下载,下面的代码演示了下载图片的过程
java 代码
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.GetMethod;
/**
* 用HttpClient下载图片
* @author wei
*/
public class TestDownImage {
public static void main(String[] args) throws IOException{
HttpClient client = new HttpClient();
GetMethod get = new GetMethod("http://images.sohu.com/uiue/sohu_logo/beijing2008/2008sohu.gif");
client.executeMethod(get);
File storeFile = new File("c:/2008sohu.gif");
FileOutputStream output = new FileOutputStream(storeFile);
//得到网络资源的字节数组,并写入文件
output.write(get.getResponseBody());
output.close();
}
}
HttpClient是Apache组织的一个项目,作为Http客户端类库,功能十分强大,正在关注这个项目中,欢迎大家和我交流使用HttpClient类库的经验!
发表评论
-
Mysql经mysql连接的空闲时间超过8小时后 MySQL自动断开该连接解决方案
2016-07-06 17:16 2171源:http://www.jb51.net/artic ... -
Shell script: 获取第10+个参数
2015-11-04 14:33 473源:http://www.cnblogs.com/sheldo ... -
no server suitable for synchronization found
2015-10-21 16:15 1026源:http://blog.sina.com.cn/s/blo ... -
nginx超时设置
2015-10-21 14:15 690源:http://www.cnblogs.com/discus ... -
ssh 免密码登录
2015-10-12 11:26 406源:http://chenlb.iteye.com/blog/ ... -
Maven Release Plugin Prepare a Release and create new branch
2015-09-17 15:22 802源:http://maven.apache.org/maven ... -
Centos初始化java环境
2015-09-12 14:31 4931.上传 jdk jdk-7u65-linux-x64.tar ... -
ssh 远程不能执行JAVA启动脚本
2015-09-08 21:17 1294源:http://java.freesion.com/arti ... -
java ImageIO处理图像的封装
2015-09-06 10:17 364源:http://blog.csdn.net/hu_sheng ... -
解决eclipse显示jar源代码中文乱码问题
2015-08-07 16:47 572源:http://wmljava.iteye.com/blog ... -
超漂亮的纯JAVA浏览器(附源码)
2015-08-06 16:42 1201源:http://blog.csdn.net/lxf9601/ ... -
quartz的任务调度,同一个任务,在相同的时间被调用了2次
2015-02-11 13:06 635源:http://www.iteye.com/topi ... -
目前常用命令
2015-02-09 20:14 614JSON格式化 http://json.parse ... -
CentOS 中yum命令运行错误解决办法
2015-02-03 14:10 685源:http://blog.sina.com.cn/s/blo ... -
[转]漫谈创业和管理-程序员5大思维障碍
2015-01-29 20:09 676源:http://javatar.iteye.com/blog ... -
win8 如何命令行设置 计划任务
2014-12-18 18:35 852源:http://zhidao.baidu.com/link? ... -
nginx 设置 expires and Cache-Control
2014-12-07 23:53 1150源:http://nginx.org/en/docs/http ... -
Nginx配置proxy_pass
2014-11-30 23:13 588源:http://dmouse.iteye.com/blog/ ... -
data:image/png;base64是什么
2014-11-29 14:38 2677源:http://copier.blog.163.com/bl ... -
安装nginx-http-concat和nginx平滑升級
2014-11-29 14:19 768源:http://wytoy.iteye.com/blog/1 ...
相关推荐
在Java开发中,HTTPClient和RESTful风格的接口被广泛用于实现文件的上传与下载功能。HTTPClient是一个强大的HTTP客户端库,而RESTful是一种轻量级的、基于HTTP协议的软件架构风格,常用于构建Web服务。在分布式系统...
本教程将详细介绍如何利用HttpClient实现文件的上传与下载,并且实时监控进度,以便在UI上显示进度条。 首先,理解HttpClient的基本用法是至关重要的。HttpClient是Apache的一个组件,它提供了丰富的API来构建网络...
《HttpClient 3.1:深入理解与应用》 ...本手册将详细探讨HttpClient 3.1版本,包括其源代码分析和使用指南,帮助...通过深入理解其源代码和使用手册,开发者可以有效地利用HttpClient来构建高质量的HTTP客户端应用程序。
标题“httpclient所需JAR包”表明我们正在讨论与使用HTTPClient库相关的Java档案(JAR)文件。 描述中的内容简洁,但可以...正确地将这些JAR包加入项目,可以确保你能够利用HTTPClient的功能来实现高效的网络通信。
4. **请求和响应处理**:通过HttpEntity和HttpEntityEnclosingRequest接口,HttpClient支持各种类型的请求实体和响应实体,如文本、图片、文件等。 5. **异步请求**:虽然HttpClient 3.0主要设计为同步模型,但通过...
在Android开发中,使用`HttpClient`进行图片上传是一项常见的需求,尤其在实现用户头像上传、照片分享等功能时。下面将详细解析如何利用`HttpClient`完成这一任务。 ### 使用`HttpClient`上传图片的关键步骤 #### ...
下面是如何使用HttpClient下载图片: ```java import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import ...
- 使用 Picasso 或 Glide 加载图片,它们能够优雅地处理网络图片加载。 - 使用 RxJava 结合 Retrofit,利用其强大的异步处理能力,实现复杂的网络请求逻辑。 总之,Android Asynchronous HTTPClient是实现异步网络...
本示例将探讨如何利用Apache HttpClient库与TestNG框架进行接口测试,以提高测试效率和准确性。 Apache HttpClient是一个开源Java库,允许开发者发送HTTP请求并接收响应,支持多种HTTP协议版本,包括HTTP/1.1和...
本文将详细介绍如何利用`HttpClient`类来实现查询申通快递的功能。 #### 二、HttpClient简介 `HttpClient`是一种用于发送HTTP请求并接收HTTP响应的工具库。它为开发者提供了高级别的API来执行HTTP操作,如GET、POST...
- **重用连接**:利用HttpClient的连接复用机制,减少网络延迟。 - **超时设置**:合理设置请求和连接超时,防止程序阻塞。 6. **SSL支持**:HttpClient支持HTTPS通信,可以配置SSLContext和KeyManager/...
2. 连接池管理:`MultiThreadedHttpConnectionManager`可以管理连接池,控制最大连接数和每个路由的最大连接数,以优化性能和资源利用。 五、Cookie管理 1. `CookieSpec`接口和`CookiePolicy`枚举:定义了Cookie的...
在找到图片链接后,我们再次利用HttpClient下载图片。通常,我们会将图片保存到本地,可能需要创建一个文件夹结构来分类存储,同时处理可能出现的重名、错误链接等问题。为了提高效率,可能会采用多线程或者异步下载...
在这个场景中,我们主要关注如何使用HttpClient进行文件上传。 文件上传通常涉及到Web服务器与客户端之间的交互,比如用户通过网页上传图片或...通过理解这些概念,你可以更有效地利用HttpClient实现文件上传功能。
### HttpClient4.5.1 手册知识点概览 #### 一、基础知识 **1.1 请求执行** - **HTTP请求:** 在客户端与服务器之间的交互过程中,客户端发送的每一条消息都称为一个请求。HTTP请求由三部分组成:请求行、请求头...
然后,可以使用Mime4j创建和构造多部分POST请求的MIME实体,接着利用Commons IO处理数据流,最后通过HttpClient发送由HttpCore支持的HTTP请求。这样,即使是在Android原生HTTPClient功能有限的情况下,也能实现强大...
通过学习和理解这些代码,开发者可以更好地掌握如何在Android应用中利用HTTPClient与服务器进行数据交互。 总结来说,本项目通过具体的代码示例,深入浅出地介绍了Android中HTTPClient的使用,包括GET和POST请求的...
在图片上传中,开发者可能利用HttpClient来发起POST请求,将图片数据作为请求体发送到服务器。 3. **commons-logging-1.1.jar**:这个JAR文件是Apache Commons Logging库的1.1版本。Logging库提供了一个接口层,...
HttpClient提供了发送HTTP请求并接收响应的方法,我们可以利用其GetByteArrayAsync方法获取图片的二进制数据,然后将其保存到本地文件系统。 以下是简单的URL图片下载步骤: 1. 创建一个HttpClient实例。 2. 使用...
通过合理利用HttpClient,开发者可以轻松地构建网络通信功能,实现游戏与服务器之间的数据交换,从而提升游戏体验和功能多样性。在实际项目中,开发者需要根据项目需求,灵活运用HttpClient提供的接口和特性,以满足...