国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

輕松實現python搭建微信公眾平臺

2020-01-04 17:45:42
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了python搭建微信公眾平臺的相關資料和技巧,文中給出了詳細的python搭建微信公眾平臺的步驟,感興趣的朋友可以參考一下
 

本文主要是一步一步教大家如何利用python搭建微信公眾平臺,有興趣的朋友可以參考一下

使用的工具,python 新浪SAE平臺,微信的公眾平臺

你需要先在微信的公眾平臺與新浪SAE平臺上各種注冊,微信平臺注冊的時候需要你拍張手持身份證的照片,還有幾天的審核期

微信公眾平臺:http://mp.weixin.qq.com

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

等待微信公眾審核通過后,登錄公眾平臺后,點擊高級功能。將會看到需要提供一個接入信息:

輕松實現python搭建微信公眾平臺

微信接口配置

那么我們需要一個網址作為接口(這時就需要SAE上搭建Python的一個應用),Token呢,就是相當于我們和微信之間約定的“密碼”,這里可以隨便填寫英文或者數字,但實測輸入純數字有時會有問題,所以還是字符串比較靠譜。

第一步,在SAE上搭建python的應用,在下圖的應用里選擇python應用。

輕松實現python搭建微信公眾平臺

 填好二級域名和應用名稱等,選擇好語言。這里我們使用Python開發選擇web應用。創建好應用之后,在代碼管理中創建一個新的版本。而后我們可以選擇編輯代碼。能夠實現在線編輯,根本用不著配置本地環境,SVN等等。當然像這種輕量級的應用在線編輯器就可以了,SVN的話還不如在線編輯好用

第二步,編寫index.wsgi

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

首先編寫config.yaml

name: yangyanxingversion: 1 libraries:- name: webpy  version: "0.36" - name: lxml version: "2.3.4" ...

注意嚴格的縮進,差一個空格你就廢了!而且調試的時候很不好發現問題。。。

接著我們繼續編寫index.wsgi

# coding: UTF-8import os import saeimport 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)

簡單解釋一下,

from weixinInterface import WeixinInterface
這里我們需要再創建一個weixinInterface的py文件,你也可以將這個類寫在index.wsgi文件中,只是這樣看起來會亂亂的

新建一個weixinInterface.py文件,注意大小寫,寫入以下代碼

# -*- coding: utf-8 -*-import hashlibimport webimport lxmlimport timeimport osimport urllib2,jsonfrom 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的目錄

輕松實現python搭建微信公眾平臺

因為微信是將驗證信息GET發出去的,所以這里使用了GET方法來取得值并且返回相應用值

保存全部,現在回到微信的公眾平臺高級管理界面

微信接口配置

在url里面填寫你在新浪SAE里應用名稱并且加上/weixin,如:http://XXXX.sinaapp.com/weixin token隨便輸入,只要注意更改weixinInterface.py中的token就行了,輸入好了以后點擊提交,如果沒有什么問題的話就會通過驗證!

 輕松實現python搭建微信公眾平臺

第三步,新建一個簡單的自動回復的方法,鸚鵡學舌,就是用戶說什么,它也回復什么,沒什么用,只是隨便玩玩!

在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> 

注意這里的toUser與fromUser是剛才post的是相反的,因為這里的toUser也就是POST函數里的fromUser,這里的fromUser也就是POST函數里的toUser,msgType是text

全部保存,現在就在用你的個人微信關注一下你創建的公眾微信號,然后隨便輸入些內容,如果沒有什么問題,你將會收到一條鸚鵡學舌的回復內容!

以上就是python搭建微信公眾平臺的全部內容,大家可以根據以上步驟進行搭建。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临城县| 吉木乃县| 高阳县| 乃东县| 体育| 南康市| 富裕县| 永昌县| 潍坊市| 新乡市| 崇文区| 丹阳市| 炉霍县| 长顺县| 齐齐哈尔市| 婺源县| 阿拉善盟| 兴化市| 桑日县| 望都县| 资溪县| 湖南省| 建阳市| 太谷县| 云南省| 明水县| 舟山市| 泸定县| 喜德县| 靖边县| 台湾省| 改则县| 博湖县| 渭源县| 岑溪市| 齐齐哈尔市| 浦江县| 平邑县| 松溪县| 双辽市| 建昌县|