




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【移动应用开发技术】如何使用python搭建微信公众平台
在下给大家分享一下如何使用python搭建微信公众平台,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!如何利用python搭建微信公众平台使用的工具,python新浪SAE平台,微信的公众平台你需要先在微信的公众平台与新浪SAE平台上各种注册,微信平台注册的时候需要你拍张手持身份证的照片,还有几天的审核期微信公众平台:新浪SAE:/等待微信公众审核通过后,登录公众平台后,点击高级功能。将会看到需要提供一个接入信息:微信接口配置那么我们需要一个网址作为接口(这时就需要SAE上搭建Python的一个应用),Token呢,就是相当于我们和微信之间约定的“密码”,这里可以随便填写英文或者数字,但实测输入纯数字有时会有问题,所以还是字符串比较靠谱。第一步,在SAE上搭建python的应用,在下图的应用里选择python应用。填好二级域名和应用名称等,选择好语言。这里我们使用Python开发选择web应用。创建好应用之后,在代码管理中创建一个新的版本。而后我们可以选择编辑代码。能够实现在线编辑,根本用不着配置本地环境,SVN等等。当然像这种轻量级的应用在线编辑器就可以了,SVN的话还不如在线编辑好用第二步,编写index.wsgi因为我们使用的是web.py框架,因为其良好的xml解析。首先编写config.yamlname:
yangyanxing
version:
1
libraries:
-
name:
webpy
version:
"0.36"
-
name:
lxml
version:
"2.3.4"
...注意严格的缩进,差一个空格你就废了!而且调试的时候很不好发现问题。。。接着我们继续编写index.wsgi#
coding:
UTF-8
import
os
import
sae
import
web
from
weixinInterface
import
WeixinInterface
urls
=
(
'/weixin','WeixinInterface'
)
app_root
=
os.path.dirname(__file__)
templates_root
=
os.path.join(app_root,
'templates')
render
=
web.template.render(templates_root)
app
=
web.application(urls,
globals()).wsgifunc()
application
=
sae.create_wsgi_app(app)简单解释一下,fromweixinInterfaceimportWeixinInterface这里我们需要再创建一个weixinInterface的py文件,你也可以将这个类写在index.wsgi文件中,只是这样看起来会乱乱的新建一个weixinInterface.py文件,注意大小写,写入以下代码#
-*-
coding:
utf-8
-*-
import
hashlib
import
web
import
lxml
import
time
import
os
import
urllib2,json
from
lxml
import
etree
class
WeixinInterface:
def
__init__(self):
self.app_root
=
os.path.dirname(__file__)
self.templates_root
=
os.path.join(self.app_root,
'templates')
self.render
=
web.template.render(self.templates_root)
def
GET(self):
#获取输入参数
data
=
web.input()
signature=data.signature
timestamp=data.timestamp
nonce=data.nonce
echostr=data.echostr
#自己的token
token="yangyanxing"
#这里改写你在微信公众平台里输入的token
#字典序排序
list=[token,timestamp,nonce]
list.sort()
sha1=hashlib.sha1()
map(sha1.update,list)
hashcode=sha1.hexdigest()
#sha1加密算法
#如果是来自微信的请求,则回复echostr
if
hashcode
==
signature:
return
echostr这里定义了一个GET方法,是根据微信公众平台的要求,进行的token验证,因为这里我们定义了templates_root为根目录下的templates,所以还要在根目录下创建一个目录templates的目录因为微信是将验证信息GET发出去的,所以这里使用了GET方法来取得值并且返回相应用值保存全部,现在回到微信的公众平台高级管理界面微信接口配置在url里面填写你在新浪SAE里应用名称并且加上/weixin,如:http://XXXX./weixintoken随便输入,只要注意更改weixinInterface.py中的token就行了,输入好了以后点击提交,如果没有什么问题的话就会通过验证!第三步,新建一个简单的自动回复的方法,鹦鹉学舌,就是用户说什么,它也回复什么,没什么用,只是随便玩玩!在weixinInterface.py里继续添加代码def
POST(self):
str_xml
=
web.data()
#获得post来的数据
xml
=
etree.fromstring(str_xml)#进行XML解析
content=xml.find("Content").text#获得用户所输入的内容
msgType=xml.find("MsgType").text
fromUser=xml.find("FromUserName").text
toUser=xml.find("ToUserName").text
return
self.render.reply_text(fromUser,toUser,int(time.time()),u"我现在还在开发中,还没有什么功能,您刚才说的是:"+content)这个def是和上一个GET同级的,注意缩进接着我们在templates目录下创建reply_text.xml模板文件,写入以下代码$def
with
(toUser,fromUser,createTime,content)
<xml>
<ToUserName><![CDATA[$toUser]]></ToUserName>
<FromUserName><![CDATA[$fromUser]]></FromUserName>
<CreateTime>$createTime</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[$content]]></Content>
</xml>注意这里的toU
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年平顶山职业技术学院高职单招语文2019-2024历年真题考点试卷含答案解析
- 细胞抗衰课程介绍
- 2025年宁波卫生职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 2025年天津滨海职业学院高职单招(数学)历年真题考点含答案解析
- 2025年天津工程职业技术学院高职单招语文2019-2024历年真题考点试卷含答案解析
- 27341培训课件教学课件
- 创意福字课程介绍
- 人教版数学六年级下册第4、5单元比例广角-鸽巢问题测试题含答案
- 华东交通大学《钢琴伴奏实验》2023-2024学年第二学期期末试卷
- 5G知识课件教学课件
- 【语言文字运用】考点45 逻辑推断(新增考点)(解析版)
- 2025年江苏苏北四市高三一模高考地理试卷试题(含答案详解)
- 《石油化工金属管道工程施工质量验收规范2023版》
- 2024年度餐厅与旅行社旅游服务定制化合同3篇
- 肠梗阻业务学习
- 电梯故障代码表
- 地方导游基础知识电子教案 专题七 学习情境三 宁夏回族自治区课时教案
- 景区旅游安全风险评估报告
- 中科曙光公司在线测评题
- 消防演练课件教学课件
- 桂圆(2023年广东中考语文试卷记叙文阅读题及答案)
评论
0/150
提交评论