Źƽ_(ti)ӿPythonʹØa
o(j)A(lin) | 2018-01-26 23:58:14 | x:14355
# coding=utf-8 from django.http import HttpResponse import hashlib, time, re from xml.etree import ElementTree as ET def weixin(request): token = "your token here" params = request.GET args = [token, params['timestamp'], params['nonce']] args.sort() if hashlib.sha1("".join(args)).hexdigest() == params['signature']: if params.has_key('echostr'): return HttpResponse(params['echostr']) else: reply = """<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[%s]]></Content> <FuncFlag>0</FuncFlag> </xml>""" if request.raw_post_data: xml = ET.fromstring(request.raw_post_data) content = xml.find("Content").text fromUserName = xml.find("ToUserName").text toUserName = xml.find("FromUserName").text postTime = str(int(time.time())) if not content: return HttpResponse(reply % (toUserName, fromUserName, postTime, "ݔc(din)...")) if content == "Hello2BizUser": return HttpResponse(reply % (toUserName, fromUserName, postTime, "a(chn)ŠI(yng)N(xio)(jng)(yn)Ո(qng)xxxx")) else: return HttpResponse(reply % (toUserName, fromUserName, postTime, "֧κŶ,_(ki)l(f)...")) else: return HttpResponse("Invalid Request") else: return HttpResponse("Invalid Request")