HTTP协议与XML

来源:互联网 发布:污网络用语大全及解释 编辑:程序博客网 时间:2024/04/28 15:57

HTTP协议即超文本传输协议,它详细规定了浏览器和万维网服务器之间的通信规则,是通过因特网传送万维网文档的数据传送协议。

在使用PHP做HTTP服务端的时候,Apache为我们解析好了大部分的协议,并提供了非常方便的方法以供我们获取需要的信息。

其中,我们需要关心的两个全局变量$_GET和$HTTP_RAW_POST_DATA。Apache解析好请求的HTTP协议,把请求的get数据和post变量写$_GET和$HTTP_RAW_POST_DATA变量中。我们只要直接使用$_GET和$HTTP_RAW_POST_DATA就能取到微信后台传给我们的数据。

$_GET是一个数组;key是各个GET数据的key;$HTTP_RAW_POST_DATA是一个字符串,包含body的所有内容。在设置这些变量的同时,Apache还为我们设置了一个$_POST变量,它用来存前台HTML的form表达提交的数据。大家不要五一为$_POST变量就是想要的POST数据。

HTTP请求中的POST数据,POST数据与GET不同,它不会有KEY值,POST数据一般都比较大,GET数据往往比较小。


XML是一种可扩展的标记语言,可以用来标记数据,定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。

XML的语法基本模式是:分别用<itemName>和</itemName>来表示一个条目的开始和结束。微信后台给我们发的XML没有属性字段。字符串用“![CDATA[text]]"表示,其中text可以是任何字符串,用CDATA包起来的目的是让text的内容不会解析成别的条目,只会解析成字符串。整个XML文档必须要有一个跟条目,该条目可以是任意名字。微信后台的跟条目是以<xml>开始</xml>结束的。

PHP为我们提供了一个简单的函数来解析xml,simplexml_load_string.它接收5个参数,第一个是需要解析的字符串,其他4个参数都是可选的。在解析成功的时候刽返回一个SimpleXMLElement的对象,如果解析失败会返回false.一般在入参中传入的XML数据不符合规范的时候才会解析失败返回false,

PHP的全等号”===",只有当全等号左边和右边的表达式的大小和类型完全相等时才返回true,虽然PHP是弱类型语言,但并不代表变量没有类型。两个 等号"=="只能判断两边的值是否相等。

1 1
原创粉丝点击