个人微信公众号搭建Python实现 -接收和发送消息-基本说明与实现(14.2.1)
@
1.原理

2.接收普通消息

其他消息类似参考官方文档
3.接收代码普通消息代码实现
from flask import Flask,request,abort
import xmltodict
import time
app = Flask(__name__)
#常量 微信的token令牌
WECHAT_TOKEN = "xxxx"
@app.route("/wx",methods=["GET","POST"])
def wechat():
#这里其实可以做一个验证的
xml_to_dct = xmltodict.parse(request.data)
print(xml_to_dct)
xml_dict = xml_to_dct.get("xml")
#提取信息
msg_type = xml_dict.get("MsgType")
resp_dict = {}
if msg_type == "text":
#表示发送的文本信息
#构造返回值,经由微信服务器回复给用户的内容
resp_dict = {
"xml":{
"ToUserName":xml_dict.get("FromUserName"),
"FromUserName":xml_dict.get("ToUserName"),
"CreateTime":int(time.time()),
"MsgType":"text",
"Content":xml_dict.get("Content")
}
}
resp = xmltodict.unparse(resp_dict)
return resp
if __name__ == '__main__':
app.run(host="127.0.0.1",port=80)
注意
1.在微信公众号控制台已经绑定了自己的服务器了
2.这里使用的flask框架处理请求
3.这里演示了处理普通文本消息,其他消息就以此类比
4.关注用户发送消息给公众号,此时微信官方服务器收到消息转发到自己部署的服务器上,转发过来的数据类型为xml,使用xmltodict包将xml转化为python自带数据类型-字典,然后进行相应的处理,返回数据时也要使用xml类型的数据(同样使用工具包打包好)
个人微信公众号搭建Python实现 -接收和发送消息-基本说明与实现(14.2.1)的更多相关文章
- 个人微信公众号搭建Python实现 -开发配置和微信服务器转入-配置说明(14.1.2)
@ 目录 1.查看基本配置 2.修改服务器配置 3.当上面都配置好,点击提交 4.配置如下 1.查看基本配置 登录到微信公众号控制面板后点击基本配置 这里要讲的就是订阅号 前往注册微信公众号 2.修改 ...
- 个人微信公众号搭建Python实现 -个人公众号搭建-永久素材管理(14.3.5)
@ 目录 1.说明 2.上传素材 3.获取素材列表 关于作者 1.说明 个人微信公众号开发的功能有限,因为很多权限没有,但支持上传永久素材,具体查看微信公众号文档 这里的请求都要将本地IP地址放到微信 ...
- 个人微信公众号搭建Python实现 -个人公众号搭建-被动回复消息建模(14.3.2)
@ 目录 1.阅读官方文档 2.思考 关于作者 1.阅读官方文档 点击进入微信官方开发者文档 接收普通消息 文本消息 图片消息 语言消息 视频消息 小视频消息 地理位置消息 链接消息 接收事件消息 关 ...
- 个人微信公众号搭建Python实现 -个人公众号搭建-总结(14.3.6)
@ 目录 1.主要技术:Flask,requests 2.实现的主要功能 3.目录说明 4.运行方式 关于作者 1.主要技术:Flask,requests requirements.txt如下 req ...
- 个人微信公众号搭建Python实现 -个人公众号搭建-处理消息和事件(14.3.4)
@ 目录 1.消息处理 2.事件处理 3.返回处理 关于作者 1.消息处理 现在只处理text文本消息 没有关键字的就交给qingyunke机器人去应付,这是一个免费的对话api 从配置文件中读取关键 ...
- 个人微信公众号搭建Python实现 -个人公众号搭建-运行run方法的编写(14.3.3)
@ 目录 1.主要逻辑 2.代码 关于作者 1.主要逻辑 使用的是flask服务器 就使用一个函数处理请求 第一个是验证服务器,返回微信服务器给的字符串就表示验证成功 第二是要处理微信服务器发送过来的 ...
- 个人微信公众号搭建Python实现 -个人公众号搭建-构想(14.3.1)
@ 目录 1.需求 2.怎么做 关于作者 1.需求 个人便捷工具 2.怎么做 针对个人未认证订阅号拥有以下权限 以及微信网页的一些权限,但是由于开发微信网页有限制 可定制功能只有被动回复,以及这个素材 ...
- ASP.NET微信公众号用于给指定OpenId用户发送红包
ASP.NET微信公众号用于给指定OpenId用户发送红包 微信公众号要实现对指定用户发送红包,必须指定一个存放兵发放金额的商户号,在微信商户平台里面申请商户号并获取相关参数例如发送红包所要用到的安全 ...
- 在新浪SAE上搭建微信公众号的python应用
微信公众平台的开发者文档https://www.w3cschool.cn/weixinkaifawendang/ python,flask,SAE(新浪云),搭建开发微信公众账号http://www. ...
随机推荐
- 思维导图VS金字塔原理
作为常识,思维导图制作的核心元素是关键词,而金字塔原理制作的核心元素则是拓展的概要句子,这两种方式是当今人们常用的思维工具,本文对其做了对比,希望对你的选择有所帮助. 金字塔原理结构:从上到下三角形结 ...
- 思维导图MindManager有新手引导功能吗
无论是对于初次使用Mindmanager思维导图软件的新手来说,还是对于有一定软件使用基础的进阶者来说,Mindmanager思维导图软件的帮助功能都能给予用户很大的指导作用. Mindmanager ...
- Hadoop优化之数据压缩
bBHadoop数据压缩 概述 运行hadoop程序时,I/O操作.网络数据传输.shuffle和merge要花大量的时间,尤其是数据规模很大和工作负载密集的情况下,这个时候,使用数据压缩可以提高效率 ...
- 【python】Matplotlib作图常用marker类型、线型和颜色
python作图中常常会考虑用什么颜色.marker.线型,这个资料查了又查,所以自己总结在这个地方,以便常用. 一.常用marker表示 1.普通marker 这类普通marker直接marker ...
- Linux如何安装Docker?
使用yum安装(centos7) Docker要求Centos系统的内核版本高于3.10,安装Docker前需要验证你的服务器内核版本是否支持Docker. 通过 uname -r 命令来查看你的服务 ...
- Pytest系列(十三)- 重复执行之pytest-repeat的使用
写在前面 这个插件,可以帮助我们很好的解决自动化测试过程中的一些偶线性bug难以复现的问题,但前提是,当前自动化脚本是独立的,不依赖任何其他脚本.个人觉得还是失败重运行的一种体现,就和TestNG是一 ...
- mysql undo+redo+binlog
rt 数据库事务开始之前,会将要修改的记录存放到UNdo日志里,当事务回滚时或数据库崩溃时,可以利用undo日志撤销未提交事务对数据库产生的影响. 逻辑日志,记录一个过程,提交后不会删除.delete ...
- @Transactional自调用问题
- 【mq学习笔记】mq查找路由信息与故障延迟
路由发现:缓存中的路由信息什么时候更新呢? 由QueueData转topicPublishInfo的List<QueueMessage>: 选择消息队列: sendLatencyFault ...
- Flash----一种VirtualActor模式的分布式有状态系统原型
首先, 这个Flash不是我们在浏览器用的Flash这种技术, 而是: 动作缓慢, 车速极快------闪电(Flash). 18年的某一个周末, 即兴用Python写了一个Virtual Actor ...