python自動(dòng)化測(cè)試應(yīng)用-番外篇--搭建微信公眾號(hào)平臺(tái)

1.1概要

大家好遂赠!我是lamecho(辣么丑),今天我們的《python自動(dòng)化測(cè)試應(yīng)用-番外篇》將會(huì)帶大家學(xué)習(xí)如何利用python搭建一個(gè)微信公眾號(hào)平臺(tái)。

開始前我們要準(zhǔn)備的內(nèi)容:一個(gè)新浪微博賬號(hào)剧蹂。

因?yàn)檫@里我們用的是新浪的SAE平臺(tái)接入微信公眾平臺(tái)處理消息确徙。

1.2第一步 新浪SAE平臺(tái)接入

Sina App Engine(簡(jiǎn)稱SAE)是新浪研發(fā)中心推出的國(guó)內(nèi)首個(gè)公有云計(jì)算平臺(tái)醒串,我們需要在這里用python創(chuàng)建我們的公眾號(hào)的服務(wù)后臺(tái)。

1.2.1登錄SAE創(chuàng)建python應(yīng)用

大家在注冊(cè)好新浪微博賬號(hào)后鄙皇,訪問新浪的SAE地址:http://sae.sina.com.cn/

使用微博登錄進(jìn)去芜赌。

如果是第一次登錄需要進(jìn)行相關(guān)信息的注冊(cè),大家按照步驟一步一步填寫即可伴逸。

注冊(cè)完畢后進(jìn)入用戶中心頁(yè)面缠沈,大家看到如下頁(yè)面,選擇紅框所示的創(chuàng)建云應(yīng)用SAE

“立即創(chuàng)建”

點(diǎn)擊“立即創(chuàng)建”后進(jìn)入創(chuàng)建應(yīng)用的頁(yè)面错蝴,選擇開發(fā)語(yǔ)言Python洲愤,以及應(yīng)用信息的二級(jí)域名和應(yīng)用名稱。大家注意這里的二級(jí)域名是在等會(huì)兒我們接入微信平臺(tái)要用到的顷锰。

填完這些信息后點(diǎn)擊頁(yè)面右側(cè)的“創(chuàng)建應(yīng)用”的按鈕柬赐,進(jìn)入代碼管理頁(yè)面,我們?cè)诖颂幘涂梢詣?chuàng)建我們的第一個(gè)應(yīng)用版本官紫,選擇“創(chuàng)建版本”按鈕生成第一個(gè)版本肛宋,再點(diǎn)擊“編輯代碼”進(jìn)入代碼編輯界面。

如下圖顯示的SAE的代碼編輯窗口束世,現(xiàn)在我們就開始編寫我們的微信后臺(tái)了酝陈。

第一步:編輯config.yaml文件

config.yaml是我們的后臺(tái)配置文件,初始顯示我們應(yīng)用的名稱及版本號(hào)毁涉,我們需要聲明加入我們后面要用到的一些庫(kù)文件及它的版本沉帮。web.py是我們python一個(gè)開源的web框架,后面我們就是按照這個(gè)框架去搭建后臺(tái)薪丁,添加內(nèi)容如下遇西。

libraries:

- name: web.py

version: "0.36"

- name: lxml

version: "2.3.4"

第二步:編輯index.wsgi文件

該文件初始是一個(gè)寫好的demo,在我們未修改此文件時(shí)严嗜,訪問我們的應(yīng)用鏈接也就是剛才創(chuàng)建應(yīng)用版本后出現(xiàn)的鏈接粱檀,如http://1.word2.applinzi.com,大家可以在頁(yè)面看到新的頁(yè)面出現(xiàn)了“Hello, SAE!“漫玄。

接下來我們刪掉原有的內(nèi)容茄蚯,寫入下面的代碼

# -*- coding:utf8 -*-

import os

import hashlib

import web

import lxml

import time

import os

import urllib2,json

from lxml import etree

import sae

from wx import wx_Interface

web.config.debug = True

urls=('/wx','wx_Interface')

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)

第三步:創(chuàng)建我們?cè)趇ndex.wsgi中引入的wx.py文件

wx.py這個(gè)文件創(chuàng)建在根目錄压彭,代碼如下,這里需要注意在GET方法里的token渗常,我們?cè)谶@里設(shè)置為“123456“壮不,后面在接入微信平臺(tái)要用。

# -*- coding: utf-8 -*-

import hashlib

import web

import lxml

import time

import os

import urllib2,json

from lxml import etree

import sae.const

import MySQLdb

import urllib

import urllib2

class wx_Interface:

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)

defget_Access_Token(self):

url='https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wx3b5a2bce4972bc&secret=61345da331b57fdbac1096551b15'

ret=urllib2.urlopen(url)

returnjson.load(ret)['access_token']

def get_material(self):

url='https://api.weixin.qq.com/cgi-bin/material/get_materialcount?access_token='

url=url+self.get_Access_Token()

#data={"type":"image","offset":0,"count":10}

#data=json.dumps(data)

#res=urllib2.Request(url)

ret=urllib2.urlopen(url)

return json.load(ret)

def GET(self):

data = web.input()

signature=data.signature

timestamp=data.timestamp

nonce=data.nonce

echostr=data.echostr

token="123456"

list=[token,timestamp,nonce]

list.sort()

sha1=hashlib.sha1()

map(sha1.update,list)

hashcode=sha1.hexdigest()

if hashcode ==signature:

return echostr

def POST(self):

str_xml=web.data()

xml=etree.fromstring(str_xml)

msgType=xml.find("MsgType").text

fromUser=xml.find("FromUserName").text

toUser=xml.find("ToUserName").text

ifmsgType=='text':

content=xml.find("Content").text

returnself.render.reply_text(fromUser,toUser,int(time.time()),content.encode('utf-8'))

ifmsgType=='event':

ifxml.find('Event').text=='subscribe':

returnself.render.reply_text(fromUser,toUser,int(time.time()),u'感謝關(guān)注我的公眾號(hào)!\r\n更多功能敬請(qǐng)期待皱碘!')

第四步:創(chuàng)建reply_text.xml文件

在根目錄下首先創(chuàng)建一個(gè)“templates“文件夾询一,然后在里邊創(chuàng)建reply_text.xml文件。內(nèi)容如下:

$def with (toUser,fromUser,createTime,content)

$createTime

$content

第五步:保存代碼癌椿,退出

1.3第二步 微信平臺(tái)接入

訪問鏈接:https://mp.weixin.qq.com

首先我們要注冊(cè)一個(gè)微信公眾號(hào)健蕊,注冊(cè)的流程也不復(fù)雜,點(diǎn)擊注冊(cè)踢俄,如果是個(gè)人的話選擇“訂閱號(hào)“缩功,接下來就是郵箱激活等步驟,大家按照流程走就好了都办。

注冊(cè)流程走完后進(jìn)入自己的公眾平臺(tái)頁(yè)面嫡锌,選擇頁(yè)面下方的“開發(fā)—基本配置“

進(jìn)入配置頁(yè)面后,點(diǎn)擊紅框的“修改配置“按鈕琳钉,就可以設(shè)置公眾號(hào)的后臺(tái)URL和token了势木,這里的url填寫我們?cè)谛吕说钠脚_(tái)創(chuàng)建應(yīng)用的鏈接并在最后加上‘/wx’,token就是在wx.py里的token值槽卫。最后點(diǎn)擊”提交“跟压,沒有錯(cuò)誤彈出表示你提交成功了。然后你可以讓大家關(guān)注你的微信公眾號(hào)歼培,看看效果啦震蒋。

最后感謝大家耐心看完本篇,我是lamecho辣么丑躲庄!

原創(chuàng)文章查剖,轉(zhuǎn)載請(qǐng)注明出處。

歡迎關(guān)注我的個(gè)人微信號(hào)”fire-bug“噪窘,了解最新文章或提出你的問題和觀點(diǎn)

微博:https://weibo.com/u/6017986584

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末笋庄,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子倔监,更是在濱河造成了極大的恐慌直砂,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件浩习,死亡現(xiàn)場(chǎng)離奇詭異静暂,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)谱秽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門洽蛀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來摹迷,“玉大人,你說我怎么就攤上這事郊供∠康铮” “怎么了?”我有些...
    開封第一講書人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵驮审,是天一觀的道長(zhǎng)鲫寄。 經(jīng)常有香客問我,道長(zhǎng)疯淫,這世上最難降的妖魔是什么塔拳? 我笑而不...
    開封第一講書人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮峡竣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘量九。我一直安慰自己适掰,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開白布荠列。 她就那樣靜靜地躺著类浪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪肌似。 梳的紋絲不亂的頭發(fā)上费就,一...
    開封第一講書人閱讀 49,950評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音川队,去河邊找鬼力细。 笑死,一個(gè)胖子當(dāng)著我的面吹牛固额,可吹牛的內(nèi)容都是我干的眠蚂。 我是一名探鬼主播,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼斗躏,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼逝慧!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起啄糙,我...
    開封第一講書人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤笛臣,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后隧饼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沈堡,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年桑李,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了踱蛀。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窿给。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖率拒,靈堂內(nèi)的尸體忽然破棺而出崩泡,到底是詐尸還是另有隱情,我是刑警寧澤猬膨,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布角撞,位于F島的核電站,受9級(jí)特大地震影響勃痴,放射性物質(zhì)發(fā)生泄漏谒所。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一沛申、第九天 我趴在偏房一處隱蔽的房頂上張望劣领。 院中可真熱鬧,春花似錦铁材、人聲如沸尖淘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)村生。三九已至,卻和暖如春饼丘,著一層夾襖步出監(jiān)牢的瞬間趁桃,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工肄鸽, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留卫病,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓贴捡,卻偏偏與公主長(zhǎng)得像忽肛,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子烂斋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容