文档章节

JAVA通过访问页面中的URL实现Http文件下载到本地

Ritajiao
 Ritajiao
发布于 2016/03/19 22:31
字数 398
阅读 109
收藏 2

如何通过访问某一个网页上的一个下载链接下载文件到本地呢?我学习了一下,利用httpget1,httpResponse1来判断网络是否连接访问成功,又通过httpget2,httpResponse2来访问下载链接实现文件下载。

注意:在使用httpget2之前需使用语句“ httpget1.abort();”将get1关闭,否则会报异常。

/* 
下载文件 
@param urlsrc 网页地址  
@param outPath 文件输出路径 
*/  
@SuppressWarnings({ "resource" })  
public static String DownLoadPages(String urlsrc, String outpath) throws UnknownHostException  
{  
	// 输入流   
	InputStream in = null;  
	// 文件输出流  
	FileOutputStream out = null;  
	try{   
		HttpParams httpParams = new BasicHttpParams();  
		HttpConnectionParams.setConnectionTimeout(httpParams,5000); //设置连接超时为5秒  
		HttpClient client = new DefaultHttpClient(httpParams); // 生成一个http客户端发送请求对象  
		HttpGet httpget1 = new HttpGet(urlsrc); //对查询页面get  
		HttpResponse httpResponse1 = client.execute(httpget1); // 发送请求并等待响应  
		// 判断网络连接是否成功  
		System.out.println("状态码:"+httpResponse1.getStatusLine().getStatusCode());  
		if (httpResponse1.getStatusLine().getStatusCode() != 200)  
			System.out.println("网络错误异常!!!!");  
		else  
			System.out.println("网络连接成功!!!");  
		httpget1.abort(); //关闭get  
		HttpGet httpget2 = new HttpGet("http://....../download? DownloadFileName=All=true"); //对下载链接get实现下载  
		HttpResponse httpResponse2 = client.execute(httpget2);  
		HttpEntity entity = httpResponse2.getEntity(); // 获取响应里面的内容  
		in = entity.getContent(); // 得到服务气端发回的响应的内容(都在一个流里面)  
		out = new FileOutputStream(new File(outpath));   
		byte[] b = new byte[1024];   
		int len = 0;   
		while((len=in.read(b))!= -1){   
			out.write(b,0,len);   
		}   
		in.close();   
		out.close();    
		}catch(Exception e){    
			e.printStackTrace();  
		}  
	}  
	System.out.println("download, success!!");   
}  
public static void main(String[] args) throws Exception {  
	String urlsrc="http://......//"; //要访问的链接  
	String outPath="//...//..."; //本地路径  
	DownLoadPages(src,outpath);  
}  

 

© 著作权归作者所有

共有 人打赏支持
Ritajiao
粉丝 0
博文 10
码字总数 6835
作品 0
保定
Mybatis整合H2嵌入式数据库

mybatis configuration.xml的配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "http://mybatis.org/dtd/mybatis-3-config.dtd" "mybatis-3-config.dtd" > <co......

supperman
2012/09/01
0
0
认识一下WebService应用的简单开发

在开发中,不免遇到两个不同系统交互的问题,比如数据信息同步、数据信息获取等,解决问题的途径有多种,今天带大家认识一下 WebService,看看它在实际应用中的处理。 一、什么是WebService ...

海岸线的曙光
07/09
0
0
WebSphere客户端迁移的一般问题

现象:J2EE应用在迁移时因为之前使用特定厂商的特殊实现,因此各种编译或者运行时的异常 原因:厂商实现的差别 解决办法: 一、 对J2EE标准的遵循 几乎没有一个J2EE应用程序,在不经过任何改...

晨曦之光
2012/03/09
0
0
Java常见问题集锦(来自Sun中国官方站)

发表日期:2003年11月28日 已经有91位读者读过此文 原文链接:http://blog.csdn.net/jaminwm/article/details/90376

晨曦之光
2012/03/09
0
0
33款可用来抓数据的开源爬虫软件工具

要玩大数据,没有数据怎么玩?这里推荐一些33款开源爬虫软件给大家。 爬虫,即网络爬虫,是一种自动获取网页内容的程序。是搜索引擎的重要组成部分,因此搜索引擎优化很大程度上就是针对爬虫...

Airship
2015/11/09
0
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

go语言学习总结

一、描述 go语言是直接将源码编译成二进制机器码的语言;它支持面向对象、也支持函数式编程;支持并发很容易; 二、基本语法学习路径 https://studygolang.com/subject/2...

盼望明天
14分钟前
1
0
JSP 九大内置对象及其作用域

JSP 中一共预先定义了 9 个这样的对象,分别为:request、response、session、application、out、pagecontext、config、page、exception ,下面就简单介绍下。 1、request 对象 request 对象...

几个栗子
25分钟前
0
0
Java中的坑之方括号

Java中的坑之方括号 这一段时间,在做项目的时候,发现了一个坑,这个坑说大不大,说小不小,不知道的足够喝一壶,知道的就可以轻松解决。 问题描述 在做数据统计的时候,遇见了如下形式的数...

星汉
36分钟前
1
0
[雪峰磁针石博客]python机器学习、web开发等书籍汇总

Building Machine Learning Systems with Python Third Edition - 2018.pdf 下载地址 Get more from your data by creating practical machine learning systems with Python Key Features ......

python测试开发人工智能安全
47分钟前
1
0
文件的压缩与解压(linux)

Linux下*.tar.gz文件解压缩命令 1.压缩命令:   命令格式:tar -zcvf 压缩后文件名.tar.gz 被压缩文件名 可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。 2.解压缩命令: ...

qimh
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部