如何使用python搭建微信公众平台

  介绍

小编给大家分享一下如何使用python搭建微信公众平台,希望大家阅读完这篇文章之后都有所收获、下面让我们一起去探讨吧!

<>强如何利用python搭建微信公众平台

使用的工具,python新浪SAE平台,微信的公众平台

你需要先在微信的公众平台与新浪SAE平台上各种注册,微信平台注册的时候需要你拍张手持身份证的照片,还有几天的审核期

微信公众平台:http://mp.weixin.qq.com

新浪SAE: http://sae.sina.com.cn/

等待微信公众审核通过后,登录公众平台后,点击高级功能。将会看到需要提供一个接入信息:

如何使用python搭建微信公众平台

<强>微信接口配置

那么我们需要一个网址作为接口(这时就需要SAE上搭建python的一个应用),令牌呢,就是相当于我们和微信之间约定的“密码”,这里可以随便填写英文或者数字,但实测输入纯数字有时会有问题,所以还是字符串比较靠谱。

<强>第一步, <强>在SAE上搭建python的应用,在下图的应用里选择python应用。

如何使用python搭建微信公众平台

填好二级域名和应用名称等,选择好语言。这里我们使用python开发选择网络应用。创建好应用之后,在代码管理中创建一个新的版本。而后我们可以选择编辑代码。能够实现在线编辑,根本用不着配置本地环境,SVN等等。当然像这种轻量级的应用在线编辑器就可以了,SVN的话还不如在线编辑好用

<强>第二步, <强>编写index.wsgi

因为我们使用的是web.py框架,因为其良好的xml解析。

首先编写配置。yaml

名称:yangyanxing   版本:1   ,   库:   名称:安康;webpy    ,版本:“0.36”;   ,   安康;名称:lxml   ,版本:“2.3.4"   ,   …

注意严格的缩进,差一个空格你就废了!而且调试的时候很不好发现问题…

接着我们继续编写索引。wsgi

#,编码:utf - 8   import 操作系统   ,   import  sae   import 网络   ,   得到weixinInterface  import  WeixinInterface   ,   urls =, (   & # 39;/weixin& # 39; & # 39; WeixinInterface& # 39;   )   ,   时间=app_root  os.path.dirname (__file__)   时间=templates_root  os.path.join (app_root, & # 39;模板# 39;)   时间=render  web.template.render (templates_root)   ,   时间=app  web.application (url,全局变量()).wsgifunc (),,   application =, sae.create_wsgi_app (app)

简单解释一下,

<强>从weixinInterface进口weixinInterface
这里我们需要再创建一个weixinInterface的py文件,你也可以将这个类写在index.wsgi文件中,只是这样看起来会乱乱的

新建一个weixinInterface。py文件,注意大小写,写入以下代码

#, - *安康;编码:utf-8  - * -   import  hashlib   import 网络   import  lxml   import 时间   import 操作系统   import  urllib2 json   得到lxml  import  etree   ,   class  WeixinInterface:   ,   自我,def  __init__ ():   时间=self.app_root 才能;os.path.dirname (__file__)   self.templates_root 才能=,os.path.join (self.app_root, & # 39;模板# 39;)   时间=self.render 才能;web.template.render (self.templates_root)   ,   ,def 使(自己):   #才能获取输入参数   时间=data 才能;web.input ()   签名才能=data.signature   时间戳才能=data.timestamp   现时标志才能=data.nonce   echostr=data.echostr才能   #才能自己的令牌   令牌才能=皔angyanxing", #这里改写你在微信公众平台里输入的令牌   #字才能典序排序   列表才能=(令牌,时间戳,现时标志)   list . sort()就,,   sha1才能=hashlib.sha1 ()   地图才能(sha1.update列表)   hashcode才能=sha1.hexdigest ()   # sha1才能加密算法,,   ,   #才能如果是来自微信的请求,则回复echostr   if 才能;hashcode ==,签名:   ,,return  echostr

这里定义了一个得到方法,是根据微信公众平台的要求,进行的令牌验证,因为这里我们定义了templates_root为根目录下的模板,所以还要在根目录下创建一个目录模板的目录

如何使用python搭建微信公众平台

如何使用python搭建微信公众平台