求助:Laravel 接收微信消息并回复,如何获取微信发过来的数据?

背景:服务器配置信息已成功通过微信验证。
业务逻辑:用户关注公众号或给公众号发消息,微信服务器将用户消息转发给我的服务器,。。。
问题:我的服务器获取不到微信发来的数据。

失败的尝试:
分别通过
file_get_contents("php://input");
$GLOBALS["HTTP_RAW_POST_DATA"];
$request->getContent();
获取微信发来的数据,但都获取不到。

请有经验的伙伴们指点下,谢谢。

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 9

可以搜索一下 EasyWeChat 哈

4年前 评论

被csrf中间件拦截了吧?

4年前 评论

@lxee 我尝试在控制器方法中的最前端加入其它代码,向数据库写内容(只要访问这个路由就会向数据库写内容),日志里面有微信的请求记录但是写库的代码并未执行,我自己访问这个路由写库的代码正常执行。

4年前 评论

请使用这个扩展包进行微信开发:EasyWeChat
避免无意义的工作

4年前 评论

做过微信小程序客服消息通知的功能,代码里这样接收的数据

$xmlString = file_get_contents('php://input');
if (!empty($xmlString)) {
    $xmlArray = $this->xmlToArray($xmlString);
    ...
}

如果是单独的项目,推荐使用EasyWeChat这个包。

4年前 评论

@TYu 我尝试在控制器方法中的最前端加入其它代码,向数据库写内容(只要访问这个路由就会向数据库写内容),日志里面有微信的请求记录但是写库的代码并未执行,我自己访问这个路由写库的代码正常执行。也就是说,当微信给我的服务器发送数据的时候,我控制器方法中的代码并未执行。前面有人说是被csrf拦截了,我将接收微信数据的路由地址加入到白名单中,还是无济于事。

4年前 评论
QJAutumn 4年前
xiaopi

你可以在路由里面单独写个闭包路由,打印个日志看看啊,估计是没到控制器。多试试哈

4年前 评论

微信机器人了解一下 哈哈哈

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!