request的各项信息
在$_POST,$_GET,$_COOKIE,$_SERVER里都有
如果是body的HTML吗?
用JS来获得啊
然后再交给 PHP 也可以阿.
看起来你的代码正确,不知道你有什么问题.
这个方法不错,但是最好用一个封装好的类.
比如http_client之类的,网上这样的类挺多了,你可以搜索一下.
当然直接用socket也可以.
您好,1,Content- Type取值为application/x-www-form-urlencoded时,php会将http请求body相应数据会填入到数组$_POST,填入到$_POST数组中的数据是进行urldecode()解析的结果.(其实,除了该Content-Type,还有 multipart/form-data表示数据是表单数据,稍后我们介绍)
这也帮助我们理解了,为什么xml_rpc服务端读取数据都是通过file_get_contents('php://input', 'r').而不是从$_POST中读取,正是因为xml_rpc数据规格是xml,它的Content-Type是text/xml.
通知机制的实现,官方只有文档没有demo代码,对没搞过的人来说,需要花大量时间来做测试.
从文档上说的来看,微信每次通知过来的数据,结构比较复杂,是一个多段数据,除了要取出POST数据外,还要取其它的数据.
这里首先涉及到一个关于php://input与$_POST取值的问题,简单列几点如下:
①.,Content- Type取值为application/x-www-form-urlencoded时,php会将http请求body相应数据会填入到数组$_POST,填入到$_POST数组中的数据是进行urldecode()解析的结果.(其实,除了该Content-Type,还有 multipart/form-data表示数据是表单数据,稍后我们介绍)
帮助我们了解了为什么xml_rpc服务端读取数据都是通过file_get_contents('php://input', 'r').
而不是从$_POST中读取,正是因为xml_rpc数据规格是xml,它的Content-Type是text/xml.
以上转述这么多文字的意思,就是说,得用到这两种方式来读取微信传过来的数据. ..
因为\r\n两个字符是一行的结束符,HTTP首部和主体之间又以一个空行来分割,所以一个空行的\r\n结束符,再加上上一行也就是最后一个首部字段的结束符\r\n,也就是说,当你编写的程序从接收的数据中(对HTTP协议来说是字符)首次检测到\r\n\r\n四个字符时,就知道,从这四个字符的下一个字符开始就是HTTP body的内容了,而\r\n\r\n的前面的内容都是HTTP首部.