用的Django
# coding:utf-8
from django.shortcuts import render
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
from functions import checkSignature
import settings,os,time
from datetime import datetime
import xml.etree.ElementTree as ET
from django.utils.encoding import smart_str
@csrf_exempt
def index(request):
if request.method=='GET':
response=HttpResponse(checkSignature(request))
return response
elif request.method == 'POST':
response = HttpResponse(responseMsg(request), content_type="application/xml")
return response
MSG_TYPE_TEXT = "text"
def responseMsg(request):
rawStr = smart_str(request.body)
msg = parseMsgXml(ET.fromstring(rawStr))
replyContent = ""
if msg['MsgType'] == MSG_TYPE_TEXT:
replyContent = "自动回复内容"
return getReplyXml(msg, replyContent)
def parseMsgXml(rootElem):
msg = {}
if rootElem.tag == 'xml':
for child in rootElem:
msg[child.tag] = smart_str(child.text)
return msg
def getReplyXml(msg,replyContent):
extTpl = "%s";
extTpl = extTpl % (msg['FromUserName'],msg['ToUserName'],str(int(time.time())),'text',replyContent)
return extTpl