Python用requests访问微信小程序security.msgSecCheck的api从而实现敏感词过滤并避坑47001

新做的一个小程序需要接入敏感词过滤,因为微信已经提供了这样子的接口服务,所以直接按照微信小程序官方说明进行接入:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/sec-check/security.msgSecCheck.html 。但是接入的过程发现了两个很奇葩的问题。
一个是参数格式不合法:{‘errcode’: 47001, ‘errmsg’: ‘data format error rid: xxx’};
一个是解决了参数不合法的问题,所有的敏感词返回的结果全是返回OK,达不到过滤敏感词的目的;
通过API 文档我们知道
1、需要传入headers明确表示 post 的数据类型
2、需要将 post 数据转换为 json 格式
在摸索了一段时间之后,终于知道跟 python 使用的 requeset 版本有关。这里小结记录一下:

    params = {
        "content": content
    }
    headers = {
        "Content-Type": "application/json"
    }
    dataString = json.dumps(params, ensure_ascii=False)
    # 发送 POST 请求
    # 如果 requests 使用的是 2.28.2,则使用这种方式
    #resp = requests.post(post_url, data=dataString.encode("utf-8").decode("latin1"), headers=headers)
    # 如果 requests 使用的是 2.30.0,则使用这种方式
    resp = requests.post(post_url, data=dataString.encode("utf-8"), headers=headers)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容