From 7c1cb6da2e0d4e27b145254f754a2bb4f0de892f Mon Sep 17 00:00:00 2001 From: root Date: Thu, 18 Oct 2018 14:54:27 +0800 Subject: [PATCH 1/2] 666 --- callback/app.py | 86 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 callback/app.py diff --git a/callback/app.py b/callback/app.py new file mode 100644 index 0000000..a47e5aa --- /dev/null +++ b/callback/app.py @@ -0,0 +1,86 @@ +import tornado.web +import tornado.ioloop +from WXBizMsgCrypt import WXBizMsgCrypt +import sys +import xml.etree.cElementTree as ET +import xml.etree.ElementTree + +class MainHandler(tornado.web.RequestHandler): + + def get(self): + sToken = "L29xbwRgtizyOpOd9cs8oPXM5Wv" + sEncodingAESKey = "NfaRUX3KXZxz7mbF3fAPhJB5gLeRTmhEbEoDViPmf8q" + sCorpID = "wweeae43b713dd2b06" + wxcpt=WXBizMsgCrypt(sToken,sEncodingAESKey,sCorpID) + + sVerifyMsgSig=self.get_argument('msg_signature') + sVerifyTimeStamp=self.get_argument('timestamp') + sVerifyNonce=self.get_argument('nonce') + sVerifyEchoStr=self.get_argument('echostr') + + ret,sEchoStr=wxcpt.VerifyURL(sVerifyMsgSig, sVerifyTimeStamp,sVerifyNonce,sVerifyEchoStr) + if ret != 0: + print "ERR: VerifyURL ret:" + ret + sys.exit(1) + + self.write(sEchoStr) + + def post(self): + sToken = "L29xbwRgtizyOpOd9cs8oPXM5Wv" + sEncodingAESKey = "NfaRUX3KXZxz7mbF3fAPhJB5gLeRTmhEbEoDViPmf8q" + sCorpID = "wweeae43b713dd2b06" + wxcpt = WXBizMsgCrypt(sToken, sEncodingAESKey, sCorpID) + + sVerifyMsgSig = self.get_argument('msg_signature') + sVerifyTimeStamp = self.get_argument('timestamp') + sVerifyNonce = self.get_argument('nonce') + sReqData = self.request.body + + ret, sMsg = wxcpt.DecryptMsg(sReqData, sVerifyMsgSig, sVerifyTimeStamp, sVerifyNonce) + if (ret != 0): + print "ERR: VerifyURL ret:" + sys.exit(1) + + xml_tree = ET.fromstring(sMsg) + + if xml.etree.ElementTree.iselement(xml_tree.find("Content")): + content = xml_tree.find("Content").text + elif xml.etree.ElementTree.iselement(xml_tree.find("EventKey")): + content = xml_tree.find("EventKey").text + else: + content = "other type" + + user_id = xml_tree.find("FromUserName").text + corp_id = xml_tree.find("ToUserName").text + create_time = xml_tree.find("CreateTime").text + + content = "1.1.1.1\n2.2.2.2\n3.3.3.3" + + sRespData = """ + + + """+create_time+""" + + + """ + + ret,sEncryptMsg = wxcpt.EncryptMsg(sRespData, sVerifyNonce, sVerifyTimeStamp) + if ret!=0: + print "ERR: EncryptMsg ret: " + str(ret) + sys.exit(1) + + self.write(sEncryptMsg) + +application = tornado.web.Application([ + (r"/", MainHandler), +]) + +if __name__ == "__main__": + + try: + application.listen(80) + tornado.ioloop.IOLoop.instance().start() + except KeyboardInterrupt as e: + print("exit") + exit(0) + From fa7f809c848b67ea4b81c2945ed5ea8146dd8299 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 18 Oct 2018 15:12:12 +0800 Subject: [PATCH 2/2] 666 --- callback/app.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/callback/app.py b/callback/app.py index a47e5aa..7741de7 100644 --- a/callback/app.py +++ b/callback/app.py @@ -8,7 +8,7 @@ class MainHandler(tornado.web.RequestHandler): def get(self): - sToken = "L29xbwRgtizyOpOd9cs8oPXM5Wv" + sToken = "L29xbwRgtizyOpOd9cs8oPXM5W2" sEncodingAESKey = "NfaRUX3KXZxz7mbF3fAPhJB5gLeRTmhEbEoDViPmf8q" sCorpID = "wweeae43b713dd2b06" wxcpt=WXBizMsgCrypt(sToken,sEncodingAESKey,sCorpID) @@ -26,7 +26,7 @@ def get(self): self.write(sEchoStr) def post(self): - sToken = "L29xbwRgtizyOpOd9cs8oPXM5Wv" + sToken = "L29xbwRgtizyOpOd9cs8oPXM5W2" sEncodingAESKey = "NfaRUX3KXZxz7mbF3fAPhJB5gLeRTmhEbEoDViPmf8q" sCorpID = "wweeae43b713dd2b06" wxcpt = WXBizMsgCrypt(sToken, sEncodingAESKey, sCorpID)