收藏
回答

调用msgSecCheck,报错incorrect header check

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug msgSecCheck 工具 7.0.4 2.7.7

- 当前 Bug 的表现(可附上截图)

const got = require('got') // 引入 got 库
const Config = require('../controllers/defaultConfig');
 
router.post('/msgSecCheck', async(ctx, next) => {
  console.log(ctx)
  // 获取 access_token 值
  let tokenUrl = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' + Config.wxConfig.appid + '&secret=' + Config.wxConfig.secret;
  // 文本内容检测接口
  let checkUrl = 'https://api.weixin.qq.com/wxa/msg_sec_check?access_token=';
  let tokenResponse = await got(tokenUrl); // 通过 got 请求 api
  let token = JSON.parse(tokenResponse.body).access_token; // JSON.parse 将数据转换成对象获取到具体 access_token 值
  // 文本内容检测接口拼接 access_token 值, JSON.stringIfy 将值转换成 JSON 字符串
  let checkResponse;
  try {
    checkResponse = await got(checkUrl + token, {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({
        content: ctx.request.body.content
      })
    });
  } catch(err) {
    console.log(err)
  }
   
  ctx.body.data = checkResponse;
})

进入catch,打出

{ ReadError: incorrect header check
    at EventEmitter.emitter.on (I:\work\whigest\whigestTalkServer\node_modules\got\source\as-promise.js:28:12)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
  name: 'ReadError',
  code: 'Z_DATA_ERROR',
  host: 'api.weixin.qq.com',
  hostname: 'api.weixin.qq.com',
  method: 'POST',
  path: '/wxa/msg_sec_check?access_token=23_Xqd0UPPUJBSjbkLosKBvLCm6oZvtvbpuK6NNZGSSvPJ4Y7ljhcXnqr2b1S8u7XYMXZ0novGe2wJftEfqD6v9QEqD6dwZ5-3WzPQkSYUroJp_HKiUPvWQFTjXY_tvZ_ZQXX0jpWSM3rEJc4MIEOJgAHAMWR',
  socketPath: undefined,
  protocol: 'https:',
  url: 'https://api.weixin.qq.com/wxa/msg_sec_check?access_token=23_Xqd0UPPUJBSjbkLosKBvLCm6oZvtvbpuK6NNZGSSvPJ4Y7ljhcXnqr2b1S8u7XYMXZ0novGe2wJftEfqD6v9QEqD6dwZ5-3WzPQkSYUroJp_HKiUPvWQFTjXY_tvZ_ZQXX0jpWSM3rEJc4MIEOJgAHAMWR',
  gotOptions:
   { path: '/wxa/msg_sec_check?access_token=23_Xqd0UPPUJBSjbkLosKBvLCm6oZvtvbpuK6NNZGSSvPJ4Y7ljhcXnqr2b1S8u7XYMXZ0novGe2wJftEfqD6v9QEqD6dwZ5-3WzPQkSYUroJp_HKiUPvWQFTjXY_tvZ_ZQXX0jpWSM3rEJc4MIEOJgAHAMWR',
     protocol: 'https:',
     slashes: true,
     auth: null,
     host: 'api.weixin.qq.com',
     port: null,
     hostname: 'api.weixin.qq.com',
     hash: null,
     search: '?access_token=23_Xqd0UPPUJBSjbkLosKBvLCm6oZvtvbpuK6NNZGSSvPJ4Y7ljhcXnqr2b1S8u7XYMXZ0novGe2wJftEfqD6v9QEqD6dwZ5-3WzPQkSYUroJp_HKiUPvWQFTjXY_tvZ_ZQXX0jpWSM3rEJc4MIEOJgAHAMWR',
     pathname: '/wxa/msg_sec_check',
     href: 'https://api.weixin.qq.com/wxa/msg_sec_check?access_token=23_Xqd0UPPUJBSjbkLosKBvLCm6oZvtvbpuK6NNZGSSvPJ4Y7ljhcXnqr2b1S8u7XYMXZ0novGe2wJftEfqD6v9QEqD6dwZ5-3WzPQkSYUroJp_HKiUPvWQFTjXY_tvZ_ZQXX0jpWSM3rEJc4MIEOJgAHAMWR',
     retry:
      { retries: [Function],
        methods: [Object],
        statusCodes: [Object],
        errorCodes: [Object] },
     headers:
      { 'user-agent': 'got/9.6.0 (https://github.com/sindresorhus/got)',
        'content-type': 'application/json',
        'accept-encoding': 'gzip, deflate',
        'content-length': 106 },
     hooks:
      { beforeRequest: [],
        beforeRedirect: [],
        beforeRetry: [],
        afterResponse: [],
        beforeError: [],
        init: [] },
     decompress: true,
     throwHttpErrors: true,
     followRedirect: true,
     stream: false,
     form: false,
     json: false,
     cache: false,
     useElectronNet: false,
     method: 'POST',
     body: '{"content":"特3456书yuuo莞6543李zxcz蒜7782法fgnv级\\n完2347全dfji试3726测asad感3847知qwez到"}' } }

- 预期表现

接口正常

- 复现路径


post请求


- 提供一个最简复现 Demo

代码如上




使用koa2  请问哪里不对呢

回答关注问题邀请回答
收藏

6 个回答

  • Passers by
    Passers by
    2021-01-23

    zcgj

    2021-01-23
    有用 1
    回复
  • null
    null
    2020-02-09

    一样的问题,不知道如何解决

    2020-02-09
    有用
    回复
  • 一生何求
    一生何求
    2019-12-21

    感觉应该是那个got的请求的问题,我这边也是用got请求检查违规内容的,然后报错:rror: errCode: -404011 cloud function execution error | errMsg: cloud.callFunction:fail requestID 9b28feb7-2402-11ea-afe4-5254003e0a60, cloud function service error code -504002, error message incorrect header check

    ReadError: incorrect header check,我到现在还没解决

    2019-12-21
    有用
    回复
  • 大胡子
    大胡子
    2019-09-28

    楼主是如何解决的。。我这边也遇到这个问题额

    2019-09-28
    有用
    回复 1
  • 四月天
    四月天
    2019-07-21

    遇到跟楼主一样的问题,请问楼主解决了吗

    2019-07-21
    有用
    回复 2
    • 王明东
      王明东
      2019-07-22
      没呢 ,好几天了都,你呢
      2019-07-22
      回复
    • 雨后_高价回收二手厨具
      雨后_高价回收二手厨具
      2020-01-30
      你好,你的解决了没, 是怎么解决的
      2020-01-30
      回复
  • 李哥
    李哥
    2019-07-21
    :。kkmusicnfuujuihrfmejyjtm。、NTP7cr
    2019-07-21
    有用
    回复
登录 后发表内容