当前位置: 首页 > news >正文

关于微信公众号/服务号自动回消息问题(python)

天呐!!!!!真的忙活了好久,终于在将近凌晨两点的时候解决了问题。

 

进入正题。

 

是的,没有错,如果你怀疑微信那边给的示例有问题那是对的,至少其给的示例在python3上有问题(我测试是如此哈, python3.9),需要改动一下填充方式,不能按照官方示例去填充,否则最后的AES加密结果会有问题。那么废话不多说,我把我改后的代码附下:

random_str   = self .get_random_str().encode(  "utf-8" )
msg_bytes   = text.encode(  "utf-8" )
msg_len_bytes   = struct.pack(  '>I' ,   len (msg_bytes))full_str   = (random_str   +msg_len_bytes   +msg_bytes   +appid.encode(  "utf-8" )
)padded_data   = pad(full_str, AES.block_size)

cryptor  = AES.new( self .key,  self .mode,  self .key[: 16 ])
ciphertext  = cryptor.encrypt(padded_data)

其中上面的text为需要向微信返回的内容,类似: "<xml><ToUserName><![CDATA[oia2TjjewbmiOUlr6X-1crbLOvLw]]></ToUserName><FromUserName><![CDATA[gh_7f083739789a]]></FromUserName>........</xml>"

 

 

好的,然后其他的东西(指官方示例)实际上就是encode和decode操作操作(其实也就说明Java的示例理论上来说没问题,虽然我会Java,但我懒得去研究,哈哈哈,python的flask一下就很好上线测试,代码写的也不用这么多(不是     )

 

鸣谢AI帮我把Java的代码快速的转成Python代码,因此最终才解决QWQ

 

 

 

 

 

 

 

好了,结算信息------------------------------->

感谢你阅读我的文章,感恩!

如有其他问题,可以私信我交流    ps:当然,最好是你实在解决不了:)

 

 

http://www.zskr.cn/news/18514.html

相关文章:

  • 10.10 闲话
  • Python 中的函数签名:详解与实例
  • 装饰器工厂与类装饰器:进阶装饰器技术解析
  • 53最大子数组和 动态规划和分制 - MKT
  • Codeforces 2153D Not Alone 题解 [ 绿 ] [ 线性 DP ] [ 分类讨论 ]
  • 每日一题 ###121买卖股票的最佳时机
  • LibreChat-图文并茂手把手教你界面配置 | Adorable LibreChat Interface Configuration Guide
  • GAE-广义优势估计算法介绍
  • RAG-检索增强生成
  • C语言vsC++
  • 20251010 之所思 - 人生如梦
  • 4.布局系统
  • 虚拟环境QA
  • day009
  • HTTP OPTIONS 方法详解:从原理到实践
  • 详解 `a, b = b, a + b`:执行逻辑、常见误区与赋值符号辨析
  • iPhone手机越狱后出现闪退的解决方法
  • 学习意志:“柚子曲线”与圆的交点个数的代数证明
  • 【黑马python】2.Python 字符串
  • FineReport自定义登录系统技术 - 详解
  • 实验报告2(简单实现图书馆管理系统)
  • 12. 对话框
  • AI产品经理要了解的算法有哪些?
  • JAVA - LinkedList 与 ArrayList 区别和 LinkedList 的四大接口解析
  • 完整教程:一文读懂费用分析:定义、分类与成本费用区别
  • AirBattery - 在Mac上实时监控所有苹果设备电量
  • 淘宝NPM镜像地址https://registry.npm.taobao.org不可用
  • 6 CF1034 div3 题解
  • 5 ABC413 题解
  • 4 CF 1032 div3 题解