




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、移动编程技术移动编程技术(三)(三) 哈尔滨工程大学软件学院 目 录 http概述 http的url http请求方法 首部 状态码 http请求应答分 析 httpclient http概述 请将名为/index.html 的文档发给我 “好的,这就是,文档是以 html格式给出的, 有3150字节长” http的资源 http资源包含web服务器文件系统中的静态文件, 如文本文件,html文件,word文件,jpeg图片, avi电影,pdf文档,甚至所有我们能想到的格式。 同时资源也可能是根据内容动态生成内容的服务器 程序,服务器程序可以根据你的身份,请求信息等 来产生不同的响应内容。
2、http会为web传输中的上千种不同数据类型的资源 打上标签,这个标签就是mime type,我们称其为 媒体类型。 常见的媒体类型(mime) html文档 - text/html ascii文本 - text/plain jpeg图片 - image/jpeg gif图片 - image/gif ppt文件 - application/vnd.ms-powerpoint 知识扩充: android平台中,调用第三方程序也可以通过mime 类型描述来intent,向系统查询出所有可以处理这种 类型数据的应用程序。 intent intent = new intent(intent.actio
3、n_view); intent.setdataandtype( uri.fromfile(file),application/pdf); uri 每个web服务器的资源都有一个名字,客户端可以 通过这个名字找到相应资源,服务器资源名被称为 统一资源标示符(uniform resource identifier), 即uri,uri分为两种形式,url(统一资源定位符) 和urn(统一资源名) url描述了一台特定服务器上某个资源特定的位置, 即如何从一个精确固定的位置获取资源。 urn作为特定资源的唯一名称,与资源地址无关, 资源可以四处搬移。 【magnet:?xt=urn:sha1:ync
4、kh.nae52sjuqczo5c】 目前,大多数uri都是url http url格式 格式规范 http:/:/?# 格式示例 http:/:80/image.jsp?img=171 url.gethost() url.getport() url.getpath() 对url的程序处理 android通过uri类的静态方法解析url uri uri = uri.parse( http:/ uri.getscheme(); uri.getpath(); uri.gethost(); uri.getport(); uri.getquery(); uri.getfragment(); 通过jav
5、a的url类,也可以处理url url url=new url( http:/ url.getprotocol(); url.gethost(); url.getport(); url.getpath(); url.getquery(); http请求方法 http/1.1协议中共定义了八种方法 get 向特定的资源发出获取资源的请求,一般会携带query部分作为参数 post 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据 被包含在请求体中。post请求可能会导致新的资源的建立和/或已有资源 的修改。表单提交数据以键值对形式出现,可以同名多值,如: name=lee 加密等
6、级标识; 浏览器语 言) 渲染引擎标识 版本信息 常用首部 accept(请求首部) 告知服务器客户端接受哪些媒体类型 accept-charset(请求首部)告知服务器客户端接受哪些字符集 accept-encoding(请求首部)告知服务器客户端接受哪些编码 accept-language(请求首部)告知服务器客户端接受哪些语言 cookie(请求首部)客户端向服务器发送的令牌,服务器会根据 其内容辨别用户身份,进而决定用户可访问的内容 set-cookie(响应首部)服务器为客户端设置令牌,用来对客户端 用户身份进行鉴别 常用首部 location(实体首部) 告知客户端资源实际所处位置
7、,客户端需要重 新定向获取资源 content-length(实体首部)实体-主体【entity-body】的长度 content-type(实体首部)实体-主体【entity-body】对象的类型 例如:content-type:text/html;charset=utf-8 content-type:text/javascript http响应状态码 状态码状态码已定义范围已定义范围分类分类 1xx100-101信息提示 2xx200-206成功 3xx300-305重定向 4xx400-415客户端错误 5xx500-505服务器错误 200 ok 服务器成功处理了请求 301/302
8、moved permanently(重定向)请求的url已移走。 服务器响应报文中应该包含一个location url, 说明资源现在所处的位置 404 not found 未找到资源 500/501 internal server error服务器遇到一个错误,使其无法对请求提供服务 http报文 http报文 【方法 请求资源路径 版本号】 【首部】 【状态码 描述】 【首部】 【主体】 http协议的请求与响应格式 请求首部 响应首部 cookie post方法提交的表单数据 http响应(实体-主体) httpclient概述 httpclient是一个帮助客户端使用http协议进行网
9、络通讯的 工具包,它可以发送http请求到服务器,同时可以对 cookie,authentication,connection management等多 种http协议范围内的操作进行处理。 关于httpclient,我们本学期的课程中所要掌握的内容有: 1)通过get方法发出请求 2)通过post方法发出请求 3)处理服务器返回的常见响应类型 4)使用线程安全的httpclient 5)超时管理 httpclient的基本使用方法 1)创建httpclient实例 httpclient client = new defaulthttpclient(); 2)确定请求方法(get or pos
10、t)类型 httpget request = new httpget(uri); httppost request = new httppost(uri); 3)如果是post类型,设置请求实体 request.setentity(entity) 4)执行execute方法,获取服务器http响应 httpresponse response = client.execute(request); 5)获取响应的相关信息,如响应码、响应首部、响应主体等 long contentlength = response.getentity().getcontentlength(); header contenttype = response.getentity().getcontenttype(); inputstream in = response.getentity().getcontent(); 6)读取首部响应主体的输入流,转换成所需要的数据形式 httpclient的基本使用方法 上机练习 1)回顾handler的使用方法 练习在子线程中向主线程发送message和runnable并更新 页面的方法。 2)练习asynctask的使用方法 使用asynctask执行耗时操作,更新ui界面 3)结合h
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全培训常见误区解析-3
- 青春期沟通障碍怎么破
- 卫生职称试题及答案
- 小学中文测试题及答案
- 如何成为生态小先锋
- 家电公司资产台账管理规章
- 2026届江苏省常州市奔牛高级中学高一化学第一学期期末学业质量监测试题含解析
- 2022年重庆南开中学高三下学期5月第九次质量检测英语试题
- 服装售后补差方案(3篇)
- 保安员消防培训知识课件
- 放射科新技术介绍
- 银行职工反诈工作总结
- 设备安装管理培训课件
- 老年人转运照护-轮椅运转
- 国家电网公司供电企业劳动定员标准
- 7-聊城东制梁场80t龙门吊安拆安全专项方案-八局一-新建郑州至济南铁路(山东段)工程ZJTLSG-2标段
- 中兴 ZXNOE 9700 系统介绍
- GB/T 21475-2008造船指示灯颜色
- 有理数加减混合运算练习题300道-
- 园林绿化工高级技师知识考试题库(附含答案)
- 提高肠镜患者肠道准备合格率课件
评论
0/150
提交评论