目录
- 1.查看基本配置
- 2.修改服务器配置
- 3.当上面都配置好,点击提交
- 4.配置如下
@(配置说明)
1.查看基本配置
登录到微信公众号控制面板后点击基本配置
2.修改服务器配置
所以一定要一个服务器,实在没有就去使用内网穿透
令牌token的作用是来验证获取主机身份,比如如果有人知道我的url直接使用浏览器或者postman获取,会造成数据泄露,所以给它加个令牌,只有有令牌的主机才能访问
EncodingAESKey指的是消息加密的方式,可以不加密,使用明文。但是如果开发者服务器和微信服务器之间经过的网络设备被其他人抓包,那么消息就会泄露
开始进行对接
url只支持80端口
3.当上面都配置好,点击提交
此时微信服务器会马上发送一个请求,所以要打开现在自己的服务器
开发者通过检验签名对请求进行检验
若确认此请求来自微信服务器,则原样返回echostr参数内容
接入生效,成为开发者,否则失败
4.配置如下
控制台填好
flask代码实现服务器并允许
from flask import Flask,request,abort
import hashlib
app = Flask(__name__)
#常量 微信的token令牌
WECHAT_TOKEN = "???"
@app.route("/wx")
def wechat():
"""对接微信公众号服务器"""
#接收微信服务器发送过来的参数
signature = request.args.get("signature")
timestamp = request.args.get("timestamp")
nonce = request.args.get("nonce")
echostr = request.args.get("echostr")
return echostr
# #校验参数
# if not all([signature,timestamp,nonce,echostr]):
# abort(404)
#
# #按照微信的流程计算签名
# li = [WECHAT_TOKEN,nonce,echostr]
# #排序
# li.sort()
# #拼接字符串
# tmp_str = "".join(li)
#
# #进行sha1加密 得出正确的一个签名值
# sign = hashlib.sha1(tmp_str).hexdigest()
#
# #讲自己计算的与微信请求的相对比
# if signature != sign:
# #表示不是微信发送的
# abort(403)
# else:
# return echostr
if __name__ == '__main__':
app.run(host="127.0.0.1",port=80)
from flask import Flask,request,abort
import hashlib
app = Flask(__name__)
#常量 微信的token令牌
WECHAT_TOKEN = "???"
@app.route("/wx")
def wechat():
"""对接微信公众号服务器"""
#接收微信服务器发送过来的参数
signature = request.args.get("signature")
timestamp = request.args.get("timestamp")
nonce = request.args.get("nonce")
echostr = request.args.get("echostr")
return echostr
# #校验参数
# if not all([signature,timestamp,nonce,echostr]):
# abort(404)
#
# #按照微信的流程计算签名
# li = [WECHAT_TOKEN,nonce,echostr]
# #排序
# li.sort()
# #拼接字符串
# tmp_str = "".join(li)
#
# #进行sha1加密 得出正确的一个签名值
# sign = hashlib.sha1(tmp_str).hexdigest()
#
# #讲自己计算的与微信请求的相对比
# if signature != sign:
# #表示不是微信发送的
# abort(403)
# else:
# return echostr
if __name__ == '__main__':
app.run(host="127.0.0.1",port=80)
注意
这里其实只要返回echostr成功,就表示验证成功了
去掉的注释是验证身份的,有错误,看下开发文档就行
这里已经完成配置了