如果大家对WEB研发有兴趣
可以加入Q群:46176507 共同进步学习
有时需要通过httpclient进行文件下载,下面是文件下载的实现过程
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
public class SearchDomain {
public static void main(String[] args) throws ClientProtocolException, IOException {
//实例化一个HttpClient
HttpClient httpClient = new DefaultHttpClient();
//设定目标站点 web的默认端口80可以不写的 当然如果是其它端口就要标明
HttpHost httpHost = new HttpHost("www.shanhe114.com",80);
//设置需要下载的文件
HttpGet httpGet = new HttpGet("/test.zip");
//这里也可以直接使用httpGet的绝对地址,当然如果不是具体地址不要忘记/结尾
//HttpGet httpGet = new HttpGet("http://www.0431.la/");
//HttpResponse response = httpClient.execute(httpGet);
HttpResponse response = httpClient.execute(httpHost, httpGet);
if(HttpStatus.SC_OK==response.getStatusLine().getStatusCode()){
//请求成功
//取得请求内容
HttpEntity entity = response.getEntity();
//显示内容
if (entity != null) {
//这里可以得到文件的类型 如image/jpg /zip /tiff 等等 但是发现并不是十分有效,有时明明后缀是.rar但是取到的是null,这点特别说明
System.out.println(entity.getContentType());
//可以判断是否是文件数据流
System.out.println(entity.isStreaming());
//设置本地保存的文件
File storeFile = new File("c:/0431la.zip");
FileOutputStream output = new FileOutputStream(storeFile);
//得到网络资源并写入文件
InputStream input = entity.getContent();
byte b[] = new byte[1024];
int j = 0;
while( (j = input.read(b))!=-1){
output.write(b,0,j);
}
output.flush();
output.close();
}
if (entity != null) {
entity.consumeContent();
}
}
}
}
需要说明这里我并没验证文件的类型,实际操作中可以通过url的后缀提取 或者ContentType的类型
分享到:
相关推荐
用HttpClient实现文件下载需要满足:有一台web服务器,要下载的源文件需存放在web服务器的特定目录下。通过发起http请求实现文件下载功能。
HttpClient实现POST GET和文件下载 HttpClient实现POST GET和文件下载
Eclipse下完整的java程序,包含HttpClient的全部jar包。通过java类文件,实现通过链接将文件下载本地
Android使用HttpClient实现上传下载功能并监控进度
httpclient4 中文版帮助文档,最新官方版翻译版 前言 超文本传输协议(HTTP)也许是当今互联网上使用的最重要的协议了。Web服务,有网络功能的设备和网络计算的发展,都持续扩展了HTTP协议的角色,超越了用户使用的...
使用HttpClient实现文件的上传所需lib
NULL 博文链接:https://zywang.iteye.com/blog/916489
Android使用HttpClient实现上传下载功能并监控进度.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
httpclient4.5.4 开发文档 超文本传输协议(HTTP)或许是最重要的互联网上使用的协议。Web服务、网络功能和网络计算的增长继续扩展HTTP协议的作用超出用户的Web浏览器、应用数量的增加,需要支持HTTP。 尽管net包提供...
本文档包涵代码和httpclient架包
httpclient-4.5所需jar包httpclient-4.5所需jar包httpclient-4.5所需jar包httpclient-4.5所需jar包
httpclient4.5相关文件,包httpclient4.5.3相关的jar包,包括httpclient4.5.3的api函数,实现了使用post方式下载文件,下载数据文件,使用get方式获取json报文。
本篇文章主要介绍了C#中WebClient实现文件下载,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
下面小编就为大家带来一篇使用HttpClient实现文件的上传下载方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
主要介绍了C#实现HTTP下载文件的方法,包括了HTTP通信的创建、本地文件的写入等,非常具有实用价值,需要的朋友可以参考下
使用mongoose实现了httpserver,httpclient,websocketserver
HttpClient4.2.5实现文件上传,无中文文件名乱码问题。亲测无问题。有问题可吐槽!
《android原生POST、httpClient4.X实现向PHP服务器上传文件》对应源码,博客地址:http://blog.csdn.net/harvic880925/article/details/17565481,奶奶个熊,今天CSDN写个博客都写不成,格式啥啥的完全跟写的时候不...
commons-httpclient-3.1jar,commons-fileupload-1.2.jar