Android 基本 Web 技术

HTTP 协议
HTTP 协议的主要特点如下:
支持 C/S( 客户端 / 服务器) 模式
� 简单快速。 客户向服务器请求服务时, 只需传送请求方法和路径。
� 灵活。
无连接。
无状态。
HTTP 的 URL
http:// host[":"port][abs_path]
http 表示要通过 HTTP 协议来定位网络资源的 ; host 表示合法的 Internet 主机域名或者 IP 地址 ; port 指定一个端口号, 为空则使用默认端口 80 ; abs_path 指定请求资源的 URI( Uniform Resource Identifier, 通用资源标志符, 指 Web 上任意的可用资源)。
HTTP 报文是面向文本的, 报文中的每一个字段都是一些 ASCII 码串, 各个字段的长度是不确定的。
HTTP 有两类报文: 请求报文和响应报文。

HTTP 请求报文
一个 HTTP 请求报文由请求行、 请求报头、 空行和请求数据 4 个部分组成
( 1)请求行由请求方法字段、 URI 字段和 HTTP 协议版本字段组成, 它们之间用空格分隔。
格式如下:
Method Request-URI HTTP-Version CRLF
例如: GET /form.html HTTP/1.1 (CRLF)
其中 Method 表示请求方法; Request-URI 是一个统一资源标识符; HTTP-Version 表示请求的 HTTP 协议版本; CRLF 表示回车和换行( 除了作为结尾的 CRLF 外, 不允许出现单独的 CR 或 LF 字符)。
( 3)空行
最后一个请求头之后是一个空行, 发送回车符和换行符, 通知服务器以下不再有请求头。
( 4) 请求数据
请求数据不在 GET 方法中使用, 而是在 POST 方法中使用。

HTTP 响应报文
HTTP 响应报文也是由 4 个部分组成的, 分别是 : 状态行、 消息报头、 空行、 响应正文
( 1) 状态行
状态行的格式如下:
HTTP-Version Status-Code Reason-Phrase CRLF
例如: HTTP/1.1 200 OK (CRLF)
其中, HTTP-Version 表示服务器 HTTP 协议的版本 ; Status-Code 表示服务器发回的响应状态代码; Reason-Phrase 表示状态代码的文本描述。

Paste_Image.png

( 3) 空行
这行是空的。
( 4) 响应正文
响应正文就是服务器返回的资源的内容

JSON
指的是javaScript对象表示法,轻量级的文本数据交换格式
描述数据结构有两种形式
名称/值 name:value
值的有序列表 name:[value,value]
json数据解析
(1){"name":"Lili"}
JSONObject demonJson = new JSONObject(jsonString)
String s = demoJson.getString("name");
(2){"number":[1,2,3]}
JSONObject demonJson = new JSONObject(jsonString);
JSONArray numberList = demonJson.getJSONArray("number");

SOAP
简单对象访问协议,基于XML标准,主要用于web服务,使网页服务器从XML数据库中提取数据时,无需格式化页面
SMTP,HTTP,HTTPS可以传输SOAP消息,一个普通的XML文档
使用流程
1.导入ksoap2包
2.指定WebService的命名空间和调用方法名
SoapObject request = new SoapObject(http://service,"getName");
3.设置调用方法的参数值
Request.addProperty("param1","value");
4.生成调用WebService方法的SOAP请求信息
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VERl1);
Envelope.bodyOut = request;
5.创建HttpTransportSE对象
HttpTransportSE ht = new HttpTransportSE("http://fy.webxml.com.xxxx");
6.使用call方法调用webService方法
ht.call(null,envelope);
7.使用getResponse方法获得WebService的返回结果
SoapObject soapObject = (SoapObject)envelope.getResponse();
8.解析结果

HTML
android平台上推荐使用Jsoup解析器解析HTML文档

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • PS:简书的网址真不是给人看的。。。我单独开了一个网址可以重定向到我的简书主页。博客地址:flutterall.c...
    徐爱卿阅读 7,042评论 21 97
  • 引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于19...
    北京小六阅读 785评论 0 8
  • Web测试基础 I. 如何开展Web测试 Web测试的对象 Web的页面元素 Web的业务逻辑 Web的数据行为 ...
    厲铆兄阅读 4,415评论 4 62
  • HTTP概述 超文本传输协议(HTTP,HyperText Transfer Protocol) 是互联网上应用最...
    曹渊说创业阅读 3,897评论 2 61
  • 捕捉生活中的点点滴滴, 化作一帘幽梦赠予你。 发现不曾关注的动态, 回顾不曾遗忘的开始。 不随便开始, 不轻易放弃...
    玫瑰花的梦阅读 236评论 1 1