python企业微信回调_Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息示例...
本文实例讲述了Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息。分享给大家供大家参考,具体如下:说明:此代码用于接收手机微信端发送的消息#-*- coding:utf-8 -*-from flask import Flask,requestfrom WXBizMsgCrypt import WXBizMsgCryptimport xml.etree.cElementTre
本文实例讲述了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
1
'''
ret,sEncryptMsg=wxcpt.EncryptMsg(sRespData, sReqNonce, sReqTimeStamp)
if( ret!=0 ):
print "ERR: EncryptMsg ret: " + ret
sys.exit(1)
return sEncryptMsg
if __name__ == '__main__':
app.run(host='0.0.0.0',port=6000,debug=True)
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python字符串操作技巧汇总》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》及《Python入门与进阶经典教程》。
希望本文所述对大家Python程序设计有所帮助。
本文标题: Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息示例
本文地址: http://www.cppcns.com/jiaoben/python/200500.html
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)