您好,登錄后才能下訂單哦!
這篇文章主要介紹了flask實(shí)現(xiàn)公眾號(hào)開發(fā)的方法,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
Flask開發(fā)微信公眾號(hào)
既然要寫微信公眾號(hào)后臺(tái),首先肯定是要先有一個(gè)微信公眾號(hào),這個(gè)申請(qǐng)很簡單,在此就不多說了,不會(huì)的可以去百度。
一、接入微信公眾號(hào)
主要步驟是根據(jù)微信公眾平臺(tái)開發(fā)文檔來的
開發(fā)文檔提供的接入步驟為:
填寫服務(wù)器配置
驗(yàn)證服務(wù)器地址的有效性
依據(jù)接口文檔實(shí)現(xiàn)業(yè)務(wù)邏輯
1、填寫服務(wù)器配置
登錄微信公眾平臺(tái)官網(wǎng)后,在公眾平臺(tái)官網(wǎng)的開發(fā)-基本設(shè)置頁面,勾選協(xié)議成為開發(fā)者,點(diǎn)擊“修改配置”按鈕,填寫服務(wù)器地址(URL)、Token和EncodingAESKey,其中URL是開發(fā)者用來接收微信消息和事件的接口URL。Token可由開發(fā)者可以任意填寫,用作生成簽名(該Token會(huì)和接口URL中包含的Token進(jìn)行比對(duì),從而驗(yàn)證安全性)。EncodingAESKey由開發(fā)者手動(dòng)填寫或隨機(jī)生成,將用作消息體加解密密鑰。其中的URL是你的服務(wù)器地址,在這兒我是用我的網(wǎng)站,Token自己隨便填寫,后面會(huì)用到,EncodingAESKey可以自己寫也可以隨機(jī)生成,一般隨機(jī)生成就行了。先不點(diǎn)提交,因?yàn)槲覀冞€沒有寫驗(yàn)證程序,后面寫完后再點(diǎn)擊。
2、驗(yàn)證服務(wù)器地址的有效性
這是文檔的說明,我們主要就按照寫個(gè)步驟來編寫驗(yàn)證代碼
首先用Flask寫出基本框架,因?yàn)楸容^簡單,這兒就用單文件
from flask import Flask from flask import request app = Flask(__name__) @app.route("/") def index(): pass if __name__ == "__main__": app.run()
這是一個(gè)最基本的Flask程序,根據(jù)文檔說明,開發(fā)者提交請(qǐng)求后會(huì)發(fā)送一個(gè)GET請(qǐng)求到URL,GET請(qǐng)求攜帶了四個(gè)參數(shù),我們首先獲得這四個(gè)參數(shù):
from flask import Flask from flask import request import hashlib app = Flask(__name__) @app.route("/weixin/",methods=["GET","POST"]) def index(): if request.method == "GET": # 判斷請(qǐng)求方式是GET請(qǐng)求 my_signature = request.args.get('signature') # 獲取攜帶的signature參數(shù) my_timestamp = request.args.get('timestamp') # 獲取攜帶的timestamp參數(shù) my_nonce = request.args.get('nonce') # 獲取攜帶的nonce參數(shù) my_echostr = request.args.get('echostr') # 獲取攜帶的echostr參數(shù) token = 'hahaha' # 一定要跟剛剛填寫的token一致 # 進(jìn)行字典排序 data = [token,my_timestamp ,my_nonce ] data.sort() # 拼接成字符串 temp = ''.join(data) # 進(jìn)行sha1加密 mysignature = hashlib.sha1(temp).hexdigest() # 加密后的字符串可與signature對(duì)比,標(biāo)識(shí)該請(qǐng)求來源于微信 if my_signature == mysignature: return my_echostr if __name__ == "__main__": app.run()
根據(jù)開發(fā)文檔,所有的驗(yàn)證代碼就寫完啦,現(xiàn)在可以去微信公眾號(hào)后臺(tái)點(diǎn)擊提交,如果沒問題的話就會(huì)顯示成功。也可能會(huì)提示“請(qǐng)求url超時(shí)”或“token驗(yàn)證失敗”,前者再次提交就行,后者可能是你的程序有問題,如果程序沒問題,可以試著換一下token。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享flask實(shí)現(xiàn)公眾號(hào)開發(fā)的方法內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細(xì)的解決方法等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。