100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > python企业微信回调_Python微信企业号开发之回调模式接收微信端客户端发送消息及被...

python企业微信回调_Python微信企业号开发之回调模式接收微信端客户端发送消息及被...

时间:2019-07-01 11:56:04

相关推荐

python企业微信回调_Python微信企业号开发之回调模式接收微信端客户端发送消息及被...

本文实例讲述了Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息。分享给大家供大家参考,具体如下:

说明:此代码用于接收手机微信端发送的消息

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

from flask import Flask,request

from WXBizMsgCrypt import WXBizMsgCrypt

import xml.etree.cElementTree as ET

import sys

app = 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 = '''

1348831860

]>

1234567890123456

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。