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

首頁 > 編程 > Python > 正文

Python微信企業號開發之回調模式接收微信端客戶端發送消息及被動返回消息示例

2020-01-04 16:48:05
字體:
來源:轉載
供稿:網友

本文實例講述了Python微信企業號開發之回調模式接收微信端客戶端發送消息及被動返回消息。分享給大家供大家參考,具體如下:

說明:此代碼用于接收手機微信端發送的消息

#-*- coding:utf-8 -*-from flask import Flask,requestfrom WXBizMsgCrypt import WXBizMsgCryptimport xml.etree.cElementTree as ETimport sysapp = Flask(__name__)@app.route('/index',methods=['GET','POST'])def index():    sToken = 'Uxxxx'    sEncodingAESKey = 'U2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'    sCorpID = 'wx1xxxxxxxxxxxxx'    wxcpt=WXBizMsgCrypt(sToken,sEncodingAESKey,sCorpID)    #獲取url驗證時微信發送的相關參數    sVerifyMsgSig=request.args.get('msg_signature')    sVerifyTimeStamp=request.args.get('timestamp')    sVerifyNonce=request.args.get('nonce')    sVerifyEchoStr=request.args.get('echostr')    #    sReqMsgSig = sVerifyMsgSig    sReqTimeStamp = sVerifyTimeStamp    sReqNonce = sVerifyNonce    #    sResqMsgSig = sVerifyMsgSig    sResqTimeStamp = sVerifyTimeStamp    sResqNonce = sVerifyNonce    #驗證url    if request.method == 'GET':        ret,sEchoStr=wxcpt.VerifyURL(sVerifyMsgSig, sVerifyTimeStamp,sVerifyNonce,sVerifyEchoStr)        print type(ret)        print type(sEchoStr)        if (ret != 0 ):            print "ERR: VerifyURL ret:" + ret            sys.exit(1)        return sEchoStr    #接收客戶端消息    if request.method == 'POST':        #sReqMsgSig = request.form.get('msg_signature')        #sReqTimeStamp = request.form.get('timestamp')        #sReqNonce = request.form.get('nonce')        #賦值url驗證請求相同的參數,使用上面注釋掉的request.form.get方式獲取時,測試有問題            sReqMsgSig = sVerifyMsgSig            sReqTimeStamp = sVerifyTimeStamp            sReqNonce = sVerifyNonce        sReqData = request.data        print sReqData        ret,sMsg=wxcpt.DecryptMsg( sReqData, sReqMsgSig, sReqTimeStamp, sReqNonce)        if (ret != 0):            print "ERR: VerifyURL ret:"            sys.exit(1)        #解析發送的內容并打印        xml_tree = ET.fromstring(sMsg)        content = xml_tree.find("Content").text        print content    #被動響應消息,將微信端發送的消息返回給微信端    sRespData = '''<xml>            <ToUserName><![CDATA[mycreate]]></ToUserName>            <FromUserName><![CDATA[wx177d1233ab4b730b]]></FromUserName>            <CreateTime>1348831860</CreateTime>            <MsgType><![CDATA[text]]></MsgType>            <Content><![CDATA[''' +content +''']]></Content>            <MsgId>1234567890123456</MsgId>            <AgentID>1</AgentID>            </xml>'''    ret,sEncryptMsg=wxcpt.EncryptMsg(sRespData, sReqNonce, sReqTimeStamp)    if( ret!=0 ):        print "ERR: EncryptMsg ret: " + ret        sys.exit(1)    return sEncryptMsgif __name__ == '__main__':    app.run(host='0.0.0.0',port=6000,debug=True)

希望本文所述對大家Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西昌市| 阿坝| 兴义市| 福海县| 泰兴市| 平山县| 曲麻莱县| 孟州市| 浮梁县| 乌审旗| 防城港市| 前郭尔| 车致| 江油市| 昭平县| 连平县| 包头市| 大新县| 乌拉特中旗| 沽源县| 瓮安县| 集安市| 凤冈县| 中超| 台北县| 通榆县| 清苑县| 新晃| 麻栗坡县| 闻喜县| 英超| 余庆县| 乌拉特后旗| 淳安县| 宁安市| 乡城县| 汉川市| 青州市| 肇庆市| 肥城市| 德化县|