欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Python微信公眾號開(kāi)發(fā)

本篇文章首先實(shí)現與公眾號的對接,實(shí)現簡(jiǎn)單的回復文字、圖片內容。下一篇會(huì )對接騰訊的AI平臺,實(shí)現對照片的人臉檢測與分析,分析年齡、性別、表情、魅力值等。

準備工作

首先要注冊一個(gè)公眾號,這個(gè)很簡(jiǎn)單,我們到微信公眾平臺注冊就可以了,選擇個(gè)人訂閱號就可以。但是如果可以認證的,我建議選擇認證訂閱號,因為未認證的號很多功能權限都沒(méi)有。好了,話(huà)不多說(shuō)進(jìn)入正題。

1. 配置公眾號
打開(kāi)公眾號,在 開(kāi)發(fā)->基本配置 頁(yè)面填寫(xiě)內容。


下面說(shuō)下需要填的內容,第一個(gè)URL要填的就是我們的服務(wù)地址,這個(gè)地址必須是外網(wǎng)地址并且是80端口。我們要本地開(kāi)發(fā)時(shí)可以用 ngrok 解決。在ngrok.com官網(wǎng)下載。解壓后就是一個(gè)exe程序。在當前目錄下輸入.\ngrok.exe http 80即可啟動(dòng)。啟動(dòng)后如下圖所示,圖片中網(wǎng)址就是我們需要的

  • 然后我們復制紅色方框里面的地址到微信的URL輸入框中,比如我的就輸入http://c9b15df5.ngrok.io/connect
    后面這個(gè)connect是我自己的服務(wù)的地址。就是我們在程序開(kāi)發(fā)中自己命名的一個(gè)請求路徑,如果是新手的話(huà)建議按照我的來(lái)。不要改動(dòng),避免程序跑不起來(lái)。
  • 第二個(gè)Token,自己想一個(gè)就行了,隨便填,你可以當他為一個(gè)密碼。
  • 第三個(gè)自己生成就可以了。
  • 最后一個(gè)消息加解密方式選擇明文模式。配置到這里就結束了,我們先不要關(guān)閉這個(gè)頁(yè)面,等我們Python程序驗證部分寫(xiě)好以后點(diǎn)擊頁(yè)面下面的提交就可以了?,F在點(diǎn)會(huì )報錯的。

2.接口驗證部分代碼編寫(xiě)

查看官方文檔,當我們點(diǎn)擊配置頁(yè)面的提交按鈕時(shí),微信后臺會(huì )向我們配置的地址發(fā)送signature、timestamp、nonce、echostr四個(gè)信息,我們拿到這部分信息后通過(guò)哈希加密算法計算出(timestamp,nonce,token)的哈希值與微信發(fā)送的signature對比,如果相等則說(shuō)明是微信后臺的請求,然后把echostr返回,就表示驗證成功。

這一步,我們使用三個(gè)庫,wechatpy-微信的Python SDK,falcon一個(gè)非常微小的Python Web框架,Waitress-一個(gè)Python WSGI服務(wù)器,當然在Linux上可以使用gunicorn代替waitress。通過(guò)pip install wechatpy[pycrypto]和pip install falcon,pip install waitress安裝。代碼如下,只需要把配置界面的token替換到代碼里

import falconfrom falcon import urifrom wechatpy.utils import check_signaturefrom wechatpy.exceptions import InvalidSignatureExceptionclass Connect(object):    def on_get(self, req, resp):        query_string = req.query_string        query_list = query_string.split('&')        b = {}        for i in query_list:            b[i.split('=')[0]] = i.split('=')[1]        try:            check_signature(token='這里填寫(xiě)配置界面你輸入的token', signature=b['signature'], timestamp=b['timestamp'], nonce=b['nonce'])            resp.body = (b['echostr'])        except InvalidSignatureException:            pass        resp.status = falcon.HTTP_200app = falcon.API()connect = Connect()app.add_route('/connect', connect)

代碼寫(xiě)好以后,我們在命令行輸入 waitress-serve --port=80 connect:app在80端口啟動(dòng)我們的程序。啟動(dòng)后如下圖,代表啟動(dòng)成功,這時(shí)候我們到微信的配置頁(yè)面點(diǎn)擊提交,會(huì )彈出提交成功消息框,代表我們成功接入微信


簡(jiǎn)單說(shuō)明以下上面代碼,on_get函數接收微信發(fā)來(lái)的get請求,并且通過(guò)query_string拿到微信發(fā)送的參數,之后通過(guò)wechatpy的check_signature函數來(lái)校驗。校驗成功后把echostr返回給微信。

3.發(fā)送文本信息給用戶(hù)

接入成功后,就可以回復用戶(hù)的信息了。我們增加一個(gè)函數處理用戶(hù)發(fā)送的消息,整體代碼如下:

import falconfrom wechatpy.utils import check_signaturefrom wechatpy.exceptions import InvalidSignatureExceptionfrom wechatpy import parse_messagefrom wechatpy.replies import TextReply, ImageReply'''遇到不懂的問(wèn)題?Python學(xué)習交流群:821460695滿(mǎn)足你的需求,資料都已經(jīng)上傳群文件,可以自行下載!'''class Connect(object):    def on_get(self, req, resp):        query_string = req.query_string        query_list = query_string.split('&')        b = {}        for i in query_list:            b[i.split('=')[0]] = i.split('=')[1]        try:            check_signature(token='xxxxx', signature=b['signature'], timestamp=b['timestamp'], nonce=b['nonce'])            resp.body = (b['echostr'])        except InvalidSignatureException:            pass        resp.status = falcon.HTTP_200    def on_post(self, req, resp):        xml = req.stream.read()        msg = parse_message(xml)        if msg.type == 'text':            reply = TextReply(content=msg.content, message=msg)            xml = reply.render()            resp.body = (xml)            resp.status = falcon.HTTP_200app = falcon.API()connect = Connect()app.add_route('/connect', connect)

我們導出了parse_message,TextReply,ImageReply函數。當拿到用戶(hù)消息時(shí),判斷是文本消息,就原樣返回給用戶(hù)?,F在我們啟動(dòng)腳本后,向公眾號發(fā)送文本消息就會(huì )收到自動(dòng)回復了。

4. 發(fā)送圖片信息給用戶(hù)

我們簡(jiǎn)單修改下on_post函數,使其不僅能處理文本,也能處理圖片信息。完整代碼如下:

import falconfrom wechatpy.utils import check_signaturefrom wechatpy.exceptions import InvalidSignatureExceptionfrom wechatpy import parse_messagefrom wechatpy.replies import TextReply, ImageReplyclass Connect(object):    def on_get(self, req, resp):        query_string = req.query_string        query_list = query_string.split('&')        b = {}        for i in query_list:            b[i.split('=')[0]] = i.split('=')[1]        try:            check_signature(token='xxxxxxx', signature=b['signature'], timestamp=b['timestamp'], nonce=b['nonce'])            resp.body = (b['echostr'])        except InvalidSignatureException:            pass        resp.status = falcon.HTTP_200    def on_post(self, req, resp):        xml = req.stream.read()        msg = parse_message(xml)        if msg.type == 'text':            reply = TextReply(content=msg.content, message=msg)            xml = reply.render()            resp.body = (xml)            resp.status = falcon.HTTP_200        elif msg.type == 'image':            reply = ImageReply(media_id=msg.media_id, message=msg)            xml = reply.render()            resp.body = (xml)            resp.status = falcon.HTTP_200app = falcon.API()connect = Connect()app.add_route('/connect', connect)

我們在代碼中加入了圖片處理邏輯,如果是圖片類(lèi)型的消息,則把圖片返回給用戶(hù)。我們把圖片發(fā)送給微信后臺后,會(huì )自動(dòng)生成一個(gè)media_id,我們發(fā)送這個(gè)media_id就可以了。

效果圖

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Spring boot中注冊Servlet
java微信開(kāi)發(fā)第二步 獲取消息和回復消息
釘釘 回調事件 消息加解密
微信程序開(kāi)發(fā)系列教程(一)開(kāi)發(fā)環(huán)境搭建
大埔縣委黨校:加強鎮(場(chǎng))黨校建設,助推縣委中心工作落實(shí)
微信公眾賬號開(kāi)發(fā)教程第3篇-開(kāi)發(fā)模式啟用及接口配置
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久