http协议下载文件
- 通过在 URL 上调用
openConnection方法创建连接对象。(HttpURLConnection conn = (HttpURLConnection)new URL("网址").openConnection();) - 处理设置参数和一般请求属性。(conn.
setRequestProperty()) - 使用
connect方法建立到远程对象的实际连接。(conn.connect()) - 远程对象变为可用。远程对象的头字段和内容变为可访问。(conn.
getHeaderField(),conn.)getInputStream等方法对连接进行操作
下面是对文件下载的具体实现案例(单线程):
HttpURLConnection conn = (HttpURLConnection)new URL("资源网址").openConnection();
conn.connect();
InputStream is = connection.getInputStream();
FileOutputStream os = new FileOutputStream("保存路径");
int count = 1024;
if(connection.getResponseCode()==200){
while ((count = is.read(b))!=-1) {
os.write(b,0,count);
}
os.close();
is.close();
}
多线程要设置的头文件:connection.setRequestProperty("Range", "bytes=0-4194304");
/*
有个疑惑:
代码这样写的话,出现文件下载不全。
while (count==1024) {
count = is.read(b)
os.write(b,0,count);
}
*/
http协议下载文件的更多相关文章
- 根据http协议下载文件保存到相应的文件下
本实例通过提供的http网址来下载文件,并保存到本地指定的文件下. 本例提供的网址为:http://112.53.80.131:8888/database/11.mdb,下载的文件名为:11.mdb ...
- 基于HTTP协议下载文件的实现
最近在开发文件下载的程序,该程序是基于HTTP开发的. 首先是了解了文件传输到客户端的大概格式,然后分析该格式,实现写入文件的功能. 自己构造的HTTP包如下: GET /*********.rar ...
- Linux下使用http协议下载文件
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h&g ...
- libcurl 通过http协议下载文件并显示下载进度
vc6 测试工程下载地址:http://download.csdn.net/detail/mtour/8068053 代码如下: size_t my_write_func(void *ptr, siz ...
- Android利用Http下载文件
Android利用Http下载文件 一.场景 下载存文本文件和下载如mp3等大容量的文件 界面 二.代码编写 1.AndroidMainfest.xml中配置 主要是解决网络权限和写SDCard的权限 ...
- ftp下出现“当前的安全设置不允许从该位置下载文件”提示
在资源管理器中使用ftp协议下载文件时,提示“当前的安全设置不允许从该位置下载文件”,下载失败. 解决方法: 1.在自己的电脑上打开Internet选项
- Delphi/XE2 使用TIdHttp控件下载Https协议服务器文件[转]
之前的一篇博文详细描述了使用TIdhttp控件下载http协议的文件,在我项目的使用过程中发现对于下载Https协议中的文件与Http协议的文件不同,毕竟Https在HTTP协议基础上增加了SSL协议 ...
- 下载文件的协议:HTTP、FTP、P2P
本篇学习笔记以HTTP.FTP.P2P叙述与网上下载文件有关的协议 需要掌握的要点: 下载一个文件可以使用 HTTP 或 FTP,这两种都是集中下载的方式,而 P2P 则换了一种思路,采取非中心化下载 ...
- C#实现http协议支持上传下载文件的GET、POST请求
C#实现http协议支持上传下载文件的GET.POST请求using System; using System.Collections.Generic; using System.Text; usin ...
随机推荐
- Android所有Demo资源汇总,太全了(申明:来源于网络)
Android所有Demo资源汇总,太全了(申明:来源于网络) 地址:http://bbs.csdn.net/topics/391928947
- RasterEdge.DocImageSDK9.8.7 破解版
RasterEdge.DocImageSDK9.8.7 破解版 本人破解了 RasterEdge.DocImageSDK9.8.7 ,有需要的同学请联系本人.
- PAT甲级1061 Dating
题目:https://pintia.cn/problem-sets/994805342720868352/problems/994805411985604608 题意: 给定四个字符串. 前两个字符串 ...
- cvLogPolar函数详解
对于二维图形,Log-polar转换表示从笛卡尔坐标到极坐标的变化,广泛应用在计算机视觉中.此函数模仿人类视网膜中央凹视力,并且对于目标跟踪等可用于快速尺度和旋转变换不变模板匹配. 本例程实现极坐标变 ...
- java8集合--LinkedList纯源码
package Queue; import java.util.*; import java.util.function.Consumer; /** * 双端队列主要实现list接口和Deque接口, ...
- CMSampleBufferRef转换
参考链接:https://blog.csdn.net/shenyi0106/article/details/47004039 https://blog.csdn.net/jeffasd/article ...
- day0315 迭代器
一. 迭代器 1.什么是可迭代器? 除了数字和布尔值之外,其他数据类型都是可迭代对象.(字符串,列表,元组,字典,集合) 2.可迭代协议 2.1 可以被迭代要满足的要求就叫可迭代协议,可迭代的定义非常 ...
- windows SysinternalsSuite
procdump -ma -i c\dumps 捕获系统所有程序的崩溃 SysinternalsSuite autoruns是个什么鬼
- airflow 实战
def print_hello(*a,**b): print a print "=========" print b print 'Hello world!' raise Valu ...
- 内部排序->插入排序->其它插入排序->表插入排序
文字描述 和之前的插入排序比,表插入排序可以保证排序过程中不移动记录:因此表插入排序所用的存储结构和之前的顺序存储不同,表插入排序采用静态链表类型作为待排记录序列的存储结构,设数组中下标0的分量为表头 ...