HttpURLConnection conn = (HttpURLConnection) url.openConnection();                  conn.setRequestMethod("GET");                  //文件下载位置   规定的格式 “byte=xxxx-”   String start = "bytes="+startPosition + "-";                  //设置文件开始的下载位置  使用 Range字段设置断点续传 conn.setRequestProperty("Range", start);                  InputStream is = conn.getInputStream();
 
对应断点续传的相关的HTTP Code 是206
其余的Http code分别是
 
HTTP返回码总结 HTTP协议状态码表示的意思主要分为五类,大体是:   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1××  保留   2××  表示请求成功地接收   3××  为完成请求客户需进一步细化请求   4××  客户错误   5××  服务器错误   100 Continue 指示客户端应该继续请求。回送用于通知客户端此次请求已经收到,并且没有被服务器拒绝。 客户端应该继续发送剩下的请求数据或者请求已经完成,或者忽略回送数据。服务器必须发送 最后的回送在请求之后。 101 Switching Protocols 服务器依照客服端请求,通过Upgrade头信息,改变当前连接的应用协议。服务器将根据Upgrade头立刻改变协议 在101回送以空行结束的时候。 Successful =================================200 OK 指示客服端的请求已经成功收到,解析,接受。201 Created 请求已经完成并一个新的返回资源被创建。被创建的资源可能是一个URI资源,通常URI资源在Location头指定。回送应该包含一个实体数据 并且包含资源特性以及location通过用户或者用户代理来选择合适的方法。实体数据格式通过煤体类型来指定即content-type头。最开始服务 器 必须创建指定的资源在返回201状态码之前。如果行为没有被立刻执行,服务器应该返回202。202 Accepted 请求已经被接受用来处理。但是处理并没有完成。请求可能或者根本没有遵照执行,因为处理实际执行过程中可能被拒绝。203 Non-Authoritative Information204 No Content 服务器已经接受请求并且没必要返回实体数据,可能需要返回更新信息。回送可能包含新的或更新信息由entity-headers呈现。205 Reset Content 服务器已经接受请求并且用户代理应该重新设置文档视图。206 Partial Content 服务器已经接受请求GET请求资源的部分。请求必须包含一个Range头信息以指示获取范围可能必须包含If-Range头信息以成立请求条件。 Redirection ==================================300 Multiple Choices 请求资源符合任何一个呈现方式。301 Moved Permanently  ——重定向 请求的资源已经被赋予一个新的URI。302 Found 通过不同的URI请求资源的临时文件。303 See Other304 Not Modified 如果客服端已经完成一个有条件的请求并且请求是允许的,但是这个文档并没有改变,服务器应该返回304状态码。304状态码一定不能包含信息主体,从而通常通过一个头字段后的第一个空行结束。305 Use Proxy 请求的资源必须通过代理(由Location字段指定)来访问。Location资源给出了代理的URI。306 Unused307 Temporary Redirect Client Error =====================400 Bad Request 因为错误的语法导致服务器无法理解请求信息。401 Unauthorized 如果请求需要用户验证。回送应该包含一个WWW-Authenticate头字段用来指明请求资源的权限。402 Payment Required 保留状态码403 Forbidden 服务器接受请求,但是被拒绝处理。404 Not Found 服务器已经找到任何匹配Request-URI的资源。405 Menthod Not Allowed Request-Line请求的方法不被允许通过指定的URI。406 Not Acceptable407 Proxy Authentication Required408 Reqeust Timeout 客服端没有提交任何请求在服务器等待处理时间内。409 Conflict410 Gone411 Length Required 服务器拒绝接受请求在没有定义Content-Length字段的情况下。412 Precondition Failed413 Request Entity Too Large 服务器拒绝处理请求因为请求数据超过服务器能够处理的范围。服务器可能关闭当前连接来阻止客服端继续请求。414 Request-URI Too Long 服务器拒绝服务当前请求因为URI的长度超过了服务器的解析范围。415 Unsupported Media Type 服务器拒绝服务当前请求因为请求数据格式并不被请求的资源支持。416 Request Range Not Satisfialbe417 Expectation Failed Server Error ===================================500 Internal Server Error 服务器遭遇异常阻止了当前请求的执行501 Not Implemented 服务器没有相应的执行动作来完成当前请求。502 Bad Gateway503 Service Unavailable 因为临时文件超载导致服务器不能处理当前请求。504 Gateway Timeout505 Http Version Not Supported

Android Http 与断点续传的更多相关文章

  1. android 多线程下载 断点续传

    来源:网易云课堂Android极客班第八次作业练习 练习内容: 多线程 asyncTask handler 多线程下载的原理 首先获取到目标文件的大小,然后在磁盘上申请一块空间用于保存目标文件,接着把 ...

  2. 实现android支持多线程断点续传下载器功能

    多线程断点下载流程图: 多线程断点续传下载原理介绍: 在下载的时候多个线程并发可以占用服务器端更多资源,从而加快下载速度手机端下载数据时难免会出现无信号断线.电量不足等情况,所以需要断点续传功能根据下 ...

  3. Android开发多线程断点续传下载器

    使用多线程断点续传下载器在下载的时候多个线程并发可以占用服务器端更多资源,从而加快下载速度,在下载过程中记录每个线程已拷贝数据的数量,如果下载中断,比如无信号断线.电量不足等情况下,这就需要使用到断点 ...

  4. Android网络多线程断点续传下载

    本示例介绍在Android平台下通过HTTP协议实现断点续传下载. 我们编写的是Andorid的HTTP协议多线程断点下载应用程序.直接使用单线程下载HTTP文件对我们来说是一件非常简单的事.那么,多 ...

  5. Android OkHttp + Retrofit 断点续传

    本文链接 前面我们已经知道如何使用OkHttp+Retrofit下载文件. 下载文件时,可能会遇到一些意外情况,比如网络错误或是用户暂停了下载. 再次启动下载,如果又要从头开始,会白白浪费前面下载好的 ...

  6. android 录音的断点续传

    系统没有暂停的功能  只能把每次的录音进行拼接... package com.example.zrecord; import java.io.File;import java.io.FileInput ...

  7. Android Tips – 填坑手册

    出于: androidChina   http://www.androidchina.net/3595.html 学习 Android 至今,大大小小的坑没少踩,庆幸的是,在强大的搜索引擎与无私奉献的 ...

  8. android程序---->android多线程下载(一)

    多线程下载是加快下载速度的一种方式,通过开启多个线程去执行一个任务,可以使任务的执行速度变快.多线程的任务下载时常都会使用得到断点续传下载,就是我们在一次下载未结束时退出下载,第二次下载时会接着第一次 ...

  9. 收藏了4年的Android 源码分享

    Android 超过2个G的源代码集合~~几乎涵盖了所有功能效果的实现,一应俱全~~应有尽有~~ 360云盘地址:Android 各类源码集合汇总 (提取码:f930) 另外,附上Github上及自己 ...

随机推荐

  1. 【Android】2.0 第2章 初识Android App

    分类:C#.Android.VS2015:  创建日期:2016-02-04 一.认识Android操作系统 Android最早由安迪•罗宾(Andy Rubin)创办,2007年被Google公司收 ...

  2. DB2 格式化输出 Date

    转自:http://www.cnblogs.com/zjun/archive/2012/02/15/2353054.html 在Oracle中可以使用TO_CHAR()函数来将日期类型的数据转换成字符 ...

  3. 含有按钮的ScrollView在iOS8中无法滚动的解决办法 | ScrollView with UIControl/UIButton subviews not scrollable under iOS 8

    转自:http://zcw.me/blogwp/%E5%90%AB%E6%9C%89%E6%8C%89%E9%92%AE%E7%9A%84scrollview%E5%9C%A8ios8%E4%B8%A ...

  4. AsyncContext简介

    为了支持异步处理,在Servlet 3.0中,在ServletRequest上提供了startAsync()方法: AsyncContext startAsync() throws Java.lang ...

  5. C++对象模型-构造函数语意学

    关于C++,最常听到的一个抱怨就是:编译器背着程序员干了太多的事情. default constructor函数的构建 default constructors会在需要的时候被编译器创建出来,关键字是 ...

  6. iOS 添加功能引导图

    iOS 添加功能引导图 首次安装app之后,打开app首页,有一张功能引导图,其实最简单的一种做法是,直接在这个首页上加一个蒙层图片. 在蒙层上用气泡显示文字注明功能介绍,这个蒙层图片,让你们的UI设 ...

  7. VS生成后事件对文件的copy以及更换扩展名

    在VC++2012的项目里,属性内有生成事件. 可以用后期生成事件命令行做一些生成之后的事情,比如对编译出的.dll,.lib,.pdb等文件进行copy或者更改扩展名. 我用到的就是将和项目同名的. ...

  8. 【Android】Sensor框架Framework层解读

    Sensor整体架构 整体架构说明 黄色部分表示硬件,它要挂在I2C总线上 红色部分表示驱动,驱动注册到Kernel的Input Subsystem上,然后通过Event Device把Sensor数 ...

  9. git命令--git checkout 之 撤销提交到暂存区的更改

    SYJ@WIN-95I6OG3AT1N /D/gitlab/ihr-kafka-produce (master) $ git status [由于工作区文件被修改了,所以显示为红色] On branc ...

  10. SQLite三种JDBC驱动的区别

    在DBeaver中看到SQLite有三种JDBC驱动,查了它们官方网站的相关解释,发现它们还是挺不一样的.   SQLite Wrapper by Christian http://www.ch-we ...