CentOS7+Python3.6利用web.py庫進行微信公眾平台服務器簡易配置,token驗證


1.安裝配置Python

CentOS7 自帶 Python2.7, 我用的是Python3.6.5,需要CentOS7安裝配置Python3並和Python2共存的,請看以下教程:

CentOS7安裝配置Python3.6.5

2.安裝web.py

pip install web.py

可以換國內源下載,速度比較快

3.安裝libxml2, libxslt, lxml python

yum install libxml2
yum install libxslt
yum install lxml python

4.編寫服務器代碼

我們寫兩個模塊來處理驗證token,一個main.py,一個handle.py

# main.py
import web
from handle import Handle
	
urls = (
	'/wx', 'Handle'    # 映射
)
	
if __name__ == '__main__':
	app = web.application(urls, globals())
	app.run()
# handle.py
import hashlib
import web

class Handle(object):

    def POST(self):
        pass

    # get方法,驗證token
    def GET(self):
        try:
            data = web.input()
            if len(data) == 0:
                return "success!"
            signature = data.signature
            timestamp = data.timestamp
            nonce = data.nonce
            echostr = data.echostr
            token = "demo"  # 請按照公眾平台官網\基本配置中信息填寫,兩個token保持一致

            list = [token, timestamp, nonce]
            list.sort()
            sha1 = hashlib.sha1()
            sha1.update(list[0].encode("utf-8"))
            sha1.update(list[1].encode("utf-8"))
            sha1.update(list[2].encode("utf-8"))
            hashcode = sha1.hexdigest()  # 獲取加密串
            
            # 驗證
            print("handle/GET func: hashcode, signature: ", hashcode, signature)
            if hashcode == signature:
                return echostr
            else:
                return ""

        except Exception as Argument:
            return Argument

5.運行main.py文件,查看瀏覽器是否可以訪問

執行命令,注意要開放80端口,端口不要被占用

python main.py 80

打開瀏覽器訪問url:http://外網IP/wx

如果成功網頁會顯示get方法中返回的字符串: success!

6.登錄微信公眾平台填寫服務器配置信息

登錄微信公眾平台,網頁左下角開發欄點擊基本配置,如圖:

然后根據提示填入相關信息,最后點擊提交按鈕就好啦

配置成功后要在服務器配置那里點一下啟用,如圖,可隨時更改配置,啟用或者停用服務器

過程中遇到了各種各樣的坑,有空再來更新。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM