评论

微信小程序内容安全校验接口在python中无论任何内容都返回ok的解决方案

微信小程序内容安全校验接口在python中无论任何内容都返回ok的解决方案


根据《关于微信小程序内容安全要求规范》进行修改,却发现无论发什么内容进行审核,返回都是ok。后端是python使用requests库进行请求。


解决方案:

def msg_sec(msg):
url = 'https://api.weixin.qq.com/wxa/msg_sec_check?access_token={}'.format(get_access_token())
data = '{"content": "' + msg + '"}'
   headers = {'Content-Type': 'application/json'}
res = requests.post(url, data=data.encode('utf-8'), headers=headers)
return True if res.json().get('errcode') == 0 else False


易犯错误:

使用post方法的json参数,会使请求中的content为unicode编码。而通过手动拼接字符串和设置headers的方式,方可保证request的body是正确的。

另外使用json.dumps也不行哦。一定要拼接字符串。

最后一次编辑于  2019-09-26  
点赞 3
收藏
评论

7 个评论

  • 阿管
    阿管
    2019-12-05

    json.dumps(data, ensure_ascii=False)


    # 这样就可以了 默认为 True 会转换成 unicode 也就是 \u 的形式

    2019-12-05
    赞同 1
    回复 1
    • 郑和柳
      郑和柳
      2020-08-07
      dumps 后面还需要 encode 才可以
      2020-08-07
      回复
  • 非小号报价机器人
    非小号报价机器人
    2021-01-09

    可算解决了! 好用, 微信是太坑了

    2021-01-09
    赞同
    回复 1
  • 一只胖虎
    一只胖虎
    2020-12-31

    稳健

    2020-12-31
    赞同
    回复
  • World6
    World6
    2020-11-09

    请问java中怎么改...

    2020-11-09
    赞同
    回复
  • 沙卡拉卡      ༽
    沙卡拉卡      ༽
    2020-06-18

    老哥,稳

    2020-06-18
    赞同
    回复 1
    • TTc
      TTc
      2020-07-04
      👌
      2020-07-04
      回复
  • 神经蛙
    神经蛙
    2020-04-30

    你好,请问您是开发者吗?我的小程序也被通知需要接内容安全接口。我系统后端是PHP。前端用户可提交内容的有:文章评论、投稿、用户资料(昵称)。请教一下 接这个接口的流程是怎么样的?需要动前端代码吗?哪里可以找到相关服务商?

    2020-04-30
    赞同
    回复 1
    • 一个个
      一个个
      09-28
      $this->curl_post($url, json_encode($data, JSON_UNESCAPED_UNICODE));。。。。。。。。。。。。。。。 json_encode($data, JSON_UNESCAPED_UNICODE)
      09-28
      回复
  • 徐子坪
    徐子坪
    2019-10-02

    你好 请问可以给个完整的代码看一下吗

    2019-10-02
    赞同
    回复 1
    • TTc
      TTc
      2019-10-04
      上面已经是msg sec的完整的核心代码了
      2019-10-04
      回复
登录 后发表内容