0
 我在用egg.js开发公众号平台,但是一直没有办法接收公众号post过来的信息。
 首先,微信信息认证等信息已经验证通过了,其次egg本身的crsf的安全策略也关闭了
 然后我在接收公众号post的请求里 就打印一下请求过来的信息 ,返回微信success
 
async getMagFromWx() {
  console.log(this.ctx.request);
console.log(this.ctx.request.body);
this.ctx.body="success";
}
问题是 body中并没有任何数据
以下打印的this.ctx.request 如下, this.ctx.request.body 则是{}。是否是因为公众号post过来的信息是
什么form-data之类的 不处理没法在body中拿到?先谢谢大家了!!~~~

{ method: 'POST',
url:
'/wechat?signature=c5f4d097b9caf6f60b6fffddbcf21df62b26f37b&timestamp=1559804
165&nonce=848417516&openid=o8DHY1NpOicRDBzNE_UFrBTf2Eog',
header:
{ 'user-agent': 'Mozilla/4.0',

 accept: '*/*',
 host: 'ych1987.xyz',
 pragma: 'no-cache',
 'content-length': '277',
 'content-type': 'text/xml' } }
6月6日提问
2 个回答
0

已采纳

没用egg 但是我用koa2需要通过koa-xml-body处理一遍就能在ctx.request.body.xml拿到微信post过来的数据,你也试下安装这个中间件,或者看看egg是否有提供类似的xml解析中间件

撰写答案

推广链接