移动编程技术第三讲(upload)

上传人:ni****g 文档编号:567928914 上传时间:2024-07-22 格式:PPT 页数:26 大小:1.04MB
返回 下载 相关 举报
移动编程技术第三讲(upload)_第1页
第1页 / 共26页
移动编程技术第三讲(upload)_第2页
第2页 / 共26页
移动编程技术第三讲(upload)_第3页
第3页 / 共26页
移动编程技术第三讲(upload)_第4页
第4页 / 共26页
移动编程技术第三讲(upload)_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《移动编程技术第三讲(upload)》由会员分享,可在线阅读,更多相关《移动编程技术第三讲(upload)(26页珍藏版)》请在金锄头文库上搜索。

1、移动编程技术移动编程技术(三)(三)哈尔滨工程大学软件学院目录HTTP概述HTTP的URLHTTP请求方法首部状态码HTTP请求应答分析HttpClientHttp概述请将名为/index.html的文档发给我“好的,这就是,文档是以HTML格式给出的,有3150字节长” Http的资源 Http资源包含Web服务器文件系统中的静态文件,如文本文件,Html文件,Word文件,JPEG图片,AVI电影,PDF文档,甚至所有我们能想到的格式。同时资源也可能是根据内容动态生成内容的服务器程序,服务器程序可以根据你的身份,请求信息等来产生不同的响应内容。Http会为Web传输中的上千种不同数据类型的

2、资源打上标签,这个标签就是MIMEtype,我们称其为媒体类型。常见的媒体类型(MIME) HTML文档 - text/htmlASCII文本 - text/plainJPEG图片 - image/jpegGIF图片 - image/gifPPT文件 - application/vnd.ms-powerpoint知识扩充:Android平台中,调用第三方程序也可以通过MIME类型描述来Intent,向系统查询出所有可以处理这种类型数据的应用程序。Intent intent = new Intent(Intent.ACTION_VIEW);intent.setDataAndType( Uri.f

3、romFile(file),application/pdf);URI 每个Web服务器的资源都有一个名字,客户端可以通过这个名字找到相应资源,服务器资源名被称为统一资源标示符(UniformResourceIdentifier),即URI,URI分为两种形式,URL(统一资源定位符)和URN(统一资源名)URL描述了一台特定服务器上某个资源特定的位置,即如何从一个精确固定的位置获取资源。URN作为特定资源的唯一名称,与资源地址无关,资源可以四处搬移。【magnet:?xt=urn:sha1:YNCKH.NAE52SJUQCZO5C】目前,大多数URI都是URLHTTPURL格式 格式规范htt

4、p:/:/?#格式示例http:/:80/image.jsp?img=171&size=largehttp:/ Android通过Uri类的静态方法解析URLUriuri=Uri.parse(http:/ HTTP/1.1协议中共定义了八种方法GET向特定的资源发出获取资源的请求,一般会携带query部分作为参数POST向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。表单提交数据以键值对形式出现,可以同名多值,如:name=lee&password=123456&itemid=999&itemid=12

5、3HEAD向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回,而响应消息头将被返回。OPTIONSPUTDELETETRACECONNECTHTTP服务器至少应该实现GET和HEAD方法,其他方法都是可选的。首部 HTTP首部向请求和响应报文中添加了一些附加信息,本质上,它们只是一些键值对的列表,首部分为以下几类:通用首部既可以出现在请求报文中,也可以出现在响应报文中请求首部提供和附加更多关于请求的信息响应首部提供和附加更多关于响应的信息实体首部描述实体-主体的长度和内容,或者资源本身常用首部 Connection(通用首部)允许客户端和服务器指定请求/响应连接有关的选项,如Con

6、nection:close,Connection:keep-aliveData(通用首部)日期时间标志,说明报文是何时创建的Host(请求首部)标示出接收请求的服务器的主机名与端口号Referer(请求首部)当浏览器向web服务器发送请求的时候,该首部可以告诉服务器本次请求是从哪个页面链接过来的,服务器由此可以获得一些信息用于处理(如防止外链)User-Agent(请求首部)使得服务器能够识别客户使用的操作系统及版本、浏览器及版本、浏览器渲染引擎、浏览器语言等一般格式为:浏览器标识(操作系统标识;加密等级标识;浏览器语言)渲染引擎标识版本信息常用首部 Accept(请求首部)告知服务器客户端接

7、受哪些媒体类型Accept-Charset(请求首部)告知服务器客户端接受哪些字符集Accept-Encoding(请求首部)告知服务器客户端接受哪些编码Accept-Language(请求首部)告知服务器客户端接受哪些语言Cookie(请求首部)客户端向服务器发送的令牌,服务器会根据其内容辨别用户身份,进而决定用户可访问的内容Set-Cookie(响应首部)服务器为客户端设置令牌,用来对客户端用户身份进行鉴别常用首部 Location(实体首部)告知客户端资源实际所处位置,客户端需要重新定向获取资源Content-Length(实体首部)实体-主体【Entity-body】的长度Conten

8、t-Type(实体首部)实体-主体【Entity-body】对象的类型例如:Content-Type:text/html;charset=utf-8Content-Type:text/javascriptHttp响应状态码 状态码状态码已定义范围已定义范围分类分类1XX100-101信息提示2XX200-206成功3XX300-305重定向4XX400-415客户端错误5XX500-505服务器错误200 OK 服务器成功处理了请求301/302 Moved Permanently(重定向)请求的URL已移走。服务器响应报文中应该包含一个Location URL, 说明资源现在所处的位置404

9、 Not Found 未找到资源500/501 Internal Server Error服务器遇到一个错误,使其无法对请求提供服务Http报文 Http报文 【方法请求资源路径版本号】【首部】【状态码描述】【首部】【主体】HTTP协议的请求与响应格式 请求首部 响应首部 Cookie Post方法提交的表单数据 HTTP响应(实体-主体) HttpClient概述 HttpClient是一个帮助客户端使用HTTP协议进行网络通讯的工具包,它可以发送HTTP请求到服务器,同时可以对cookie,authentication,connectionmanagement等多种Http协议范围内的操作

10、进行处理。关于HttpClient,我们本学期的课程中所要掌握的内容有:1)通过get方法发出请求2)通过post方法发出请求3)处理服务器返回的常见响应类型4)使用线程安全的HttpClient5)超时管理HttpClient的基本使用方法 1)创建HttpClient实例HttpClientclient=newDefaultHttpClient();2)确定请求方法(GetorPost)类型HttpGetrequest=newHttpGet(uri);HttpPostrequest=newHttpPost(uri);3)如果是Post类型,设置请求实体request.setEntity(E

11、ntity)4)执行execute方法,获取服务器Http响应HttpResponseresponse=client.execute(request);5)获取响应的相关信息,如响应码、响应首部、响应主体等longcontentLength=response.getEntity().getContentLength();HeadercontentType=response.getEntity().getContentType();InputStreamin=response.getEntity().getContent();6)读取首部响应主体的输入流,转换成所需要的数据形式HttpClient的基本使用方法 上机练习 1)回顾Handler的使用方法练习在子线程中向主线程发送Message和Runnable并更新页面的方法。2)练习AsyncTask的使用方法使用AsyncTask执行耗时操作,更新UI界面3)结合Handler的使用方法,利用HttpClient发送Get和Post请求获取资源4)结合AsyncTask的使用方法,利用HttpClient发送请求获取资源http:/localhost:8084/EULecture03/image?img=1 (1-10)http:/localhost:8084/EULecture03/mmr

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 文学/艺术/历史 > 人文/社科

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号