无法获取post传递参数(求助)
本帖最后由 zmoli775 于 2018-11-6 17:19 编辑我CI做了企业微信的消息url认证·打算用CI来接收企业消息数据!
但是接收不到post数据呢?以下是抓包信息:
POST /index.php/WxReceiveMsg/ResMsg?msg_signature=5566455c7e925fe2b922b28f76000a548a446060×tamp=1541491094&nonce=1542417820 HTTP/1.1
Host: mobile.xxxx.cn
Content-Type: text/xml
User-Agent: Mozilla/4.0
Accept: */*
Pragma: no-cache
X-Forwarded-For: 14.215.153.87
X-Forwarded-Host: mobile.xxxx.cn
X-Forwarded-Server: mobile.xxxx.cn
Connection: Keep-Alive
Content-Length: 607
<xml>
<ToUserName><!]></ToUserName>
<Encrypt>
<![CDATA[sLxGRKELsLSVtnyf8NnkHTTu6+ZJJo2b0e9AphTN
2tzMEpnoscsQEsDVgYv+I6XouOM3U364b4doplwnuuwe6FHQQml4Rw
JMc+shClFGr6wEG/fkxyV5yLNqnVtiYxjNooSHQVQwIqLU4+kjJmyHW4
9pJZSvZaIqTYL4b53Ob57occysImoR5+eVS4dN1sFR99Yww3esW4ICvu
qHJ90+RyXQtmaLKzkmGiH3CexLpxzayIPV71bUj24kP+nZn6xCHQUDQ
MFjkb6Q687YcZN/gY/e66QPLbSfwC7ZY81Yj8omnDRM0w50Yx4RAcd
FwgvALS4AKJuhQJO9zCT/oVgLAQsM1TAHw9euXzFs1H14UHKjd0F020
HYLpmuUFyc2xeJAX3Nl7ynFnN3JuW0VT/TxBwwDNu3NkklTbELG+6IA
2hEPi5PZJX/HBJUAWBkpaXKZiDxplvssRvc5d41GWgHJw==]]>
</Encrypt>
<AgentID><!]></AgentID>
</xml>
我在控制器中使用:
-------------------------------------------------------
$s = $this->input->post('msg_signature');
-------------------------------------------------------将$s数据写入日志文件·感觉控制器都没执行...
想获取XML的内容·怎么获取?
我没有建立视图文件·是不是这个视图文件引起的?我把控制器代码补充到下面·php萌新一枚不太懂!
抓包·确实有数据...
求各位老师教教我怎么处理?谢谢了!
补充这是我控制器(没有视图文件·这样也就能验证企业微信url)
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class WxReceiveMsg extends CI_Controller {
public function __construct()
{
parent::__construct();
}
public function index()
{
// 接收get传值
$s = $this->input->get('msg_signature');
$t = $this->input->get('timestamp');
$n = $this->input->get('nonce');
$e = $this->input->get('echostr');
// 判断get接收值是否为null
if(!is_null($s)&&!is_null($t)&&!is_null($n)&&!is_null($e))
{
// 准备加载自定义类命
$l="wxbizmsgcrypt";
// 加载自定义类
$this->load->library($l);
// 定义返回明文
$sEchoStr = 0;
// 调用自定义类中方法验证url地址合法性
$errCode= $this->$l->VerifyURL($s,$t,$n,$e,$sEchoStr);
// 验证成功返回明文
if($errCode==0)
{
print($sEchoStr);
}
else
{
// 验证失败写错误码
xlog($errCode);
}
}
}
}
本帖最后由 Skiy 于 2019-1-2 13:43 编辑
file_get_contents('php://input'); 本帖最后由 zmoli775 于 2018-11-6 20:55 编辑
Skiy 发表于 2018-11-6 19:34
file_get_contents('php://inpuit');
感谢老师·我马上试试!感谢!:D-----------------------------------------
额-貌似没用·我不太明白!为什么拿不到值·问题任然没得到解决!
zmoli775 发表于 2018-11-6 20:49
感谢老师·我马上试试!感谢!-----------------------------------------
额-貌似没用·我不太明白!为 ...
因为微信 post 的不是标准格式,所以 $_POST 拿不到内容,需要
file_get_contents('php://inpuit'); 你可以搜一下 php://input 是什么。 zmoli775 发表于 2018-11-6 20:49
感谢老师·我马上试试!感谢!-----------------------------------------
额-貌似没用·我不太明白!为 ...
我打错英文了:
是 input 不是 inpuit
页:
[1]