微信公众平台开发(一)两种数据格式
1.XML文档实例
<?xml version="1.0" encoding="UTF-8"?>
<employee><name>陈小林</name>
<mobile catetory="work">1399999999</mobile>
</employee>
xml中的5个预定义转义序列:
<: <
>: >
&: &
&apos: "
": "
转义序列必须以分号结束
CDATA区段:所有内容都会被XML解析器忽略也就是说具有特殊意义的字符没有那些特殊含义了
<![CDATA[
......
]]>
微信消息的XML格式
当普通微信用户向公众账号发消息时,微信服务器将用户发送的消息封装为XML数据包,然后推送
给公众账号所设置的服务器,公众账号服务器接收到这个XML数据包,对其进行解析处理。
文本消息的XML数据包结构:
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>//一个OpenID
<CreateTime>1348831860</CreateTime>
<MsgType><![CDATA[text]></MsgType>
<Content><![CDATA[this is a test]]></Content>
<MsgId><![CDATA[123456879]]><MsgId>
</xml>
2.JSON:如对自定义菜单中的菜单项就是采用JSON格式封装的菜单数据
(1).JSON对象,属性值的类型可以是数字,字符串,数组,对象几种
{ key:value,key:value,... }
{"name":"陈小林","sex":"男","department":"行政部"}
(2).JSON数组
["java0,"javascript","vb",...]//元素可嵌套
微信公众账号与用户之间的数据传输
HTTP协议:
是一种详细规定了浏览器和万维网服务器之间相互通信的规则,通过因特网传送万维网文档的数据传输协议。
客户想服务器请求服务时,只需传送请求方法和路径,服务器可根据请求的方法和路径调用相应的程序进行处理,通信速度快。
请求方法:
GET:向特定的资源发出请求;
POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源
的建立和/或已有资源的修改。
PUT:向指定资源位置上传其最新内容
DELETE:请求服务器删除所标识的资源
GET方法: 资源路径?key=value&...
http://www.xyz.com/login.php?name=zhangsan&password=123,安全性低
在PHP中可通过数组$_GET变量来获取GET方法传输的参数,如:$_GET["name"]
除了在地址栏中输入的变量使用GET方法传输之外,在HTML表单中通过设置METHOD="GET",同样可让表单中的值按BET方式传输给服务器。
POST方法:主要用于向Web服务器端提交FORM表单中的数据。POST方法将各个表单字段元素及其数据作为HTTP消息的实体内容发送给Web服务器。
<form Method="POST" >//未设置表单的ACTION,表示仍然使用当前文件来接收处理表单传输的数据
姓名: <input type="text" name="name" /><br />
密码: <input type="password" name="password" /><br />
<input type="submit" value="登陆" />
</form>
GET和POST的区别:
1.参数的附加形式不同
2.参数的处理方法不同
3.传输数据的大小不同
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 微信端口及协议分析
- 下一篇: [转]微信端口及协议分析