关键词:
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Text; namespace HttpDemo { class Program { //需要下载的路径 static string url = "http://www.aseoe.com/demo/api/jquery_aseoe_001.zip"; //获取文件全称 static string fileName = Path.GetFileName(url); //保存路径 static string localPath = "D:\HttpCeShi\" + fileName; //未下载完后面加.temp后缀名 static string tempPath = localPath + ".temp"; //偏移量(断点) static int pos; static void Main(string[] args) { DownLoad(); Console.ReadLine(); } public static void DownLoad() { //如果存在要更新的文件就结束 if (File.Exists(localPath)) return; Stream localfs = null; //如果不存在未上传完文件(需断点续传文件) if (File.Exists(tempPath)) { localfs = new FileStream(tempPath, FileMode.Open); } else { localfs = new FileStream(tempPath, FileMode.Create); } //获取断点 pos = (int)localfs.Length; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Headers.Add("Accept-Charset", "GBK,utf-8"); request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"; request.Method = "GET"; request.Timeout = 30000; //文件总长度单位(B) long total = request.GetResponse().ContentLength; Console.WriteLine("总长度为:" + total); if (pos > 0) request.AddRange(pos);//偏移到断点 HttpWebResponse responseResult = (HttpWebResponse)request.GetResponse(); using (Stream stream = responseResult.GetResponseStream()) { byte[] buffer = new byte[total - pos]; int readSize = stream.Read(buffer, 0, buffer.Length); while (readSize > 0) { localfs.Write(buffer, 0, readSize); readSize = stream.Read(buffer, 0, buffer.Length); Console.WriteLine("已下载:" + localfs.Length); } localfs.Close(); File.Move(tempPath, localPath);//将临时文件改为正常文件后缀 Console.WriteLine("下载完成!!!"); } } } }
用c实现断点续传的功能,详细点的实现原理是啥嘞
...C实现断点续传的功能,详细点的实现原理是什么嘞于HTTP协议的多执行绪下载和断点续传的实现学生:叶升路指导教师:覃颖(三峡大学电气资讯学院)摘要:本文介绍了网路下载软体中的最新技术——多执行绪下载和断点续传... 查看详情
掀开断点续传那一层面纱(下载篇)
1、简介 这一篇文章主要介绍的是http协议下载时的断点续传,详细到各个步骤。主要步骤有:DNS查找、TCP三次握手、http请求发送、TCP协议数据传输、暂停后的状态、继续下载、TCP三次握手、http请求发送、数据传输、。。。... 查看详情
http协议文件下载原理及多线程断点续传
...必要的,我想这也是大多数开发人员的习惯吧。对于HTTP协议,向服务器请求某个文件时,只要发送类似如下的请求即可: GET/Path/FileNameHTTP/1.0 Host:www.server.com:80 Accept:*/*&nbs 查看详情
超大文件上传和断点续传的组件
...从文件已经下载的地方开始继续下载。在以前版本的HTTP协议是不支持断点的,HTTP/1.1开始就支持了。一般断点下载时才用到Range和Content-Range实体头。HTTP协议本身不支持断点上传,需要自己实现。 二、Range 用于请求头... 查看详情
http断点续传原理
...果完整,直接加载地图。3.如果不完整,需要通过一个http协议请求后台服务器传回完整的地图。 现在要增加一个断点续传的功能。也就是地图下载过程中,如果断网,丢包之类,重启游戏地图会继续下载,而不是重新下载 查看详情
图解:http范围请求,助力断点续传多线程下载的核心原理(代码片段)
题图:byCharlesLoyer一、序Hi,大家好,我是承香墨影!HTTP协议在网络知识中占据了重要的地位,HTTP协议最基础的就是请求和响应的报文,而报文又是由报文头(Header)和实体组成。大多数HTTP协议的使用方式,都是依赖设置不同... 查看详情
基于http的断点续传和多线程下载
HTTP协议的GET方法,支持只请求某个资源的某一部分; 206PartialContent部分内容响应; Range请求的资源范围; Content-Range响应的资源范围;断点续传: 在连接断开重连时,客户端只请求该资源未下载的部分,而不... 查看详情
支持断点续传的大文件传输协议
文件传输协议(FTP)是一个被广泛应用的网络协议,FTP技术作为文件传输的重要手段,在数据通信领域一直发挥着举足轻重的作用,不支持断点续传,是Internet上最早也是最广泛使用的应用之一.从1971年A.K.Bhushan提出第一个FTP协议... 查看详情
http文件的断点续传和下载
http://www.tuicool.com/articles/ZbyymqJContent-Disposition:inline;filename="c501b_01_h264_sd_960_540.mp4" 浏览器的行为不再是提示下载文件,而是打开文件一个server端和client端的例子http抓包的例子206PartialContent服务器已经成功处理 查看详情
ios大文件分片上传和断点续传
...已经具备了分片上传功能,当传输的文件比较大时,http协议自动会将文件切片(分块),但这不是我们现在说的重点,我们要做的事是保证在网络中断后1G的文件已上传的那部分在下次网络连接时不必再重传。所以我们本地在上... 查看详情
超大文件上传和断点续传的组件
...从文件已经下载的地方开始继续下载。在以前版本的HTTP协议是不支持断点的,HTTP/1.1开始就支持了。一般断点下载时才用到Range和Content-Range实体头。HTTP协议本身不支持断点上传,需要自己实现。 二、Range 用于请求头... 查看详情
超大文件上传和断点续传的源代码
...已经具备了分片上传功能,当传输的文件比较大时,http协议自动会将文件切片(分块),但这不是我们现在说的重点,我们要做的事是保证在网络中断后1G的文件已上传的那部分在下次网络连接时不必再重传。所以我们本地在上... 查看详情
web大文件分块上传断点续传demo
...从文件已经下载的地方开始继续下载。在以前版本的HTTP协议是不支持断点的,HTTP/1.1开始就支持了。一般断点下载时才用到Range和Content-Range实体头。HTTP协议本身不支持断点上传,需要自己实现。 二、Range 用于请求头... 查看详情
curl使用
CURL可以模拟浏览器,因此它同样支持多种协议FTP,FTPS,HTTP,HTTPS,GOPHER,TELNET,DICT,FILE以及LDAP等协议都可以很好的支持,包括一些:HTTPS认证,HTTPPOST方法,HTTPPUT方法,FTP上传,keyberos认证,HTTP上传,代理服务器,cookies,用户名/密码... 查看详情
http断点续传(代码片段)
断点续传从下载断开的位置,继续下载,直到下载完整四个必须的HTTP头域Range用于请求头中,指定第一个字节的位置和最后一个字节的位置,一般格式:Range:(unit=firstbytepos)-[lastbytepos]Range:bytes=50-从第50个字节开始到最后一个字节R... 查看详情
http断点续传range与content-range(代码片段)
...节,用以下配置启用HTTP头信息打印后发现原来是设置了断点续传位置的原因curl_easy_setopt(m_pCurl,CURLOPT_VERBOSE,1L);故了解了一下HTTP断点续传的相关设置参考文章:1、HTTPHeader里的Range和Content-Range参数2、http断点续传原理:http头Range、... 查看详情
断点续传
--实现断点续传http://www.cnblogs.com/peaceli/archive/2011/04/06/breakpoint_upload.html 查看详情
java中文件大小超过多大需要断点续传
...A方支不支持断电续传功能(HTTP1.1),然后你查阅下HTTP1.1协议,在HTTP1.1版本里,可以通过设置请求包头某个字段的信息(使用URLConnection创建连接并使用setRequestProperty(Stringkey,Stringvalue)方法设置)从而精确读取文件的某一段数据... 查看详情