返回顶部

对接微信公众号

微信开发者文档网址 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中填写

itheim  

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

python  zyc.py 

 

 点击提交

配置成功

 

posted @ 2017-11-26 16:36  Crazymagic  阅读(1316)  评论(0)    收藏  举报