刚刚创建这个公众号的时候,我的一个同事就找我的公众号聊天,但是那个时候我的公众号还是仅支持根据关键词,如果要做到支持智能回复,那基本上就是不可能。然后我结合我之前做的微信自动回复机器人的经历,我首先就想到了图灵机器人。是不是可以把图灵机器人和微信公众号进行连接呢?于是我开始查看
发现其实只要我们拥有一个公网的web服务器地址,微信公众号和web服务器进行通信,我们对接收的微信公众号消息进行解析转发给图灵机器人,图灵机器人根据我们请求的内容返回对应的回复,我们再将回复返回给微信公众号即可。整个流程如下:

微信公众号服务器的配置
首先我们需要搭建一个web服务器用于接收微信公众号的请求,我们可以通过flask进行搭建。
在pycharm中中新建一个工程和main.py文件,输入如下内容:
from flask import Flask
from flask import request
app = Flask(__name__)
@app.route("/")
def index():
return "Hello World!"
if __name__ == "__main__":
app.run(host='0.0.0.0')
运行成功后,你可以在浏览器上访问自己的服务器

接下来我们需要将这个服务器映射到公网上获取一个公网url,我这边使用的ngrok,将下载的exe文件打开后,输入“ngrok http 80”,就出现一个公网映射地址如下图:

将红色框标注的地址拷贝到微信公众号的开发-基本配置-服务器配置的服务器地址(此时不要点击保存,因为我们需要对字段信息进行处理,否者是不会校验通过的)

查看微信公众号的开发手册,可以了解到信息处理流程。

# -*- coding:utf-8 -*-
from flask import Flask
from flask import request
import hashlib
app = Flask(__name__)
@app.route("/")
def index():
return "Hello World!"
@app.route("/wechat", methods=["GET","POST"])
def weixin():
if request.method == "GET": # 判断请求方式是GET请求
my_signature = request.args.get('signature') # 获取携带的signature参数
my_timestamp = request.args.get('timestamp') # 获取携带的timestamp参数
my_nonce = request.args.get('nonce') # 获取携带的nonce参数
my_echostr = request.args.get

最低0.47元/天 解锁文章

1586

被折叠的 条评论
为什么被折叠?



