本文实例讲述了Python调用微信公众平台接口操作。分享给大家供大家参考,具体如下:
这里使用的是Django,其他类似
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# 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, "输入点命令吧..." )) if content = = "Hello2BizUser" : return HttpResponse(reply % (toUserName, fromUserName, postTime, "查询成绩绩点请到http://chajidian.sinaapp.com/ 本微信更多功能开发中..." )) else : return HttpResponse(reply % (toUserName, fromUserName, postTime, "暂不支持任何命令交互哦,功能开发中..." )) else : return HttpResponse( "Invalid Request" ) else : return HttpResponse( "Invalid Request" ) |
希望本文所述对大家Python程序设计有所帮助。