当前位置: 首页 > 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.hskmm.com/?act=detail&tid=28359

相关文章:

  • 10.10 闲话
  • AtCoder Beginner Contest 396
  • Python 中的函数签名:详解与实例
  • 基于AXI模块的视频流传输(上板移植篇)
  • 装饰器工厂与类装饰器:进阶装饰器技术解析
  • 53最大子数组和 动态规划和分制 - MKT
  • Codeforces 2153D Not Alone 题解 [ 绿 ] [ 线性 DP ] [ 分类讨论 ]
  • __closure__:闭包的“身份证”
  • Codeforces Round 1057 (Div. 2)
  • “表达式”(Expression)和“语句”(Statement)概念辨析
  • 每日一题 ###121买卖股票的最佳时机
  • 10.10总结
  • LibreChat-图文并茂手把手教你界面配置 | Adorable LibreChat Interface Configuration Guide
  • GAE-广义优势估计算法介绍
  • qemu模拟单片机
  • RAG-检索增强生成
  • “猴子补丁”(monkey patch)跟猴子有关吗?
  • Yapi 使用docker在cenos7上部署教程与基本使用
  • C语言vsC++
  • 20251010 之所思 - 人生如梦
  • 2025.10.10
  • 个人书单-从心流出发,学习积极心理学
  • 等号(=)在C语言和python中有什么区别?
  • AI元人文(十四)之价值共生篇:再论物物交换——作为价值共生基础的元协议
  • 4.布局系统
  • Python clickhouse-driver 类库使用学习总结
  • 虚拟环境QA
  • 计算机系统知识 - 呓语
  • 详解 `a, b = b, a + b`:执行逻辑、常见误区与赋值符号辨析
  • xdown 全能下载