返回顶部

对接微信公众号

微信开发者文档网址 https://mp.weixin.qq.com/wiki/home/index.html

接入微信公众平台

接入微信公众平台开发,开发者需要按照如下步骤完成:

  1. 填写服务器配置
  2. 验证服务器地址的有效性
  3. 依据接口文档实现业务逻辑

利用测试平台

测试平台登陆地址 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

 

 

验证服务器地址的有效性

开发者提交信息后,微信服务器将发送GET请求到填写的服务器地址URL上,GET请求携带四个参数:

 

开发者通过检验signature对请求进行校验。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。

校验流程:

  1. 将token、timestamp、nonce三个参数进行字典序排序
  2. 将三个参数字符串拼接成一个字符串进行sha1加密
  3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信

 创建一个zyc.py的Flask项目

复制代码
# coding:utf8
from flask import Flask,request
from hashlib import sha1
app = Flask(__name__)

WECHAT_TOKEN= 'itheim'

@app.route('/wechat8016')
def wechat():
    args = request.args

    signature = args['signature']
    nonce = args.get('nonce')
    timestamp = args.get('timestamp')
    echostr = args.get('echostr')

    tmp = [WECHAT_TOKEN,nonce,timestamp]
    tmp.sort()
    tmp = "".join(tmp)
    sig = sha1(tmp).hexdigest()
    if sig == signature:
        return echostr
    else:
        return 'error',403

if __name__ == '__main__':
    app.run(port=8016)
View Code
复制代码

 

 把项目推送到服务器

scp ./zyc.py   yinqiaoyin@101.200.170.171:~/

 

 远程连接服务器 

ssh yinqiaoyin@101.200.170.171

 

进入虚拟环境

workon flask_py2

 

查看推送在服务器的文件

ls

 

 

 登陆测试的平台

测试平台登陆地址 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

 在URL的路径中填写

http://101.200.170.171/wechat8016

 

在Token中填写

1
itheim  

在服务器端运行zyc.py的文件

python  zyc.py 

 

 点击提交

配置成功

 

posted @   Crazymagic  阅读(1285)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示

目录导航