Python调用微信公众平台接口操作示例


Posted in Python onJuly 08, 2017

本文实例讲述了Python调用微信公众平台接口操作。分享给大家供大家参考,具体如下:

这里使用的是Django,其他类似

# 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程序设计有所帮助。

Python 相关文章推荐
Python中time模块与datetime模块在使用中的不同之处
Nov 24 Python
机器学习经典算法-logistic回归代码详解
Dec 22 Python
Python中enumerate()函数编写更Pythonic的循环
Mar 06 Python
python 实现提取某个索引中某个时间段的数据方法
Feb 01 Python
Python 实现微信防撤回功能
Apr 29 Python
利用setuptools打包python程序的方法步骤
Jan 18 Python
使用Bazel编译TensorBoard教程
Feb 15 Python
Python列表倒序输出及其效率详解
Mar 04 Python
Python 防止死锁的方法
Jul 29 Python
Django DRF APIView源码运行流程详解
Aug 17 Python
Python3 用matplotlib绘制sigmoid函数的案例
Dec 11 Python
python机器学习Github已达8.9Kstars模型解释器LIME
Nov 23 Python
HTML中使用python屏蔽一些基本功能的方法
Jul 07 #Python
CentOS 7下安装Python 3.5并与Python2.7兼容并存详解
Jul 07 #Python
浅谈Python中的可变对象和不可变对象
Jul 07 #Python
Python MySQL数据库连接池组件pymysqlpool详解
Jul 07 #Python
Python用Pillow(PIL)进行简单的图像操作方法
Jul 07 #Python
python 表达式和语句及for、while循环练习实例
Jul 07 #Python
Python中字典和集合学习小结
Jul 07 #Python
You might like
PHP延迟静态绑定示例分享
2014/06/22 PHP
PHP实现验证码校验功能
2017/11/16 PHP
JQuery学习笔录 简单的JQuery
2012/04/09 Javascript
jQuery实用基础超详细介绍
2013/04/11 Javascript
浅析js中substring和substr的方法
2015/11/09 Javascript
js判断是否为空和typeof的用法(详解)
2016/10/07 Javascript
js HTML5多媒体影音播放
2016/10/17 Javascript
vue监听滚动事件实现滚动监听
2017/04/11 Javascript
EasyUI的TreeGrid的过滤功能的解决思路
2017/08/08 Javascript
react中的ajax封装实例详解
2017/10/17 Javascript
vue封装一个简单的div框选时间的组件的方法
2019/01/06 Javascript
vue中img src 动态加载本地json的图片路径写法
2019/04/25 Javascript
nodejs简单抓包工具使用详解
2019/08/23 NodeJs
JS实现点餐自动选择框(案例分析)
2019/12/10 Javascript
javascript设计模式 ? 访问者模式原理与用法实例分析
2020/04/26 Javascript
[44:33]EG vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
浅析Python中的多进程与多线程的使用
2015/04/07 Python
Sanic框架配置操作分析
2018/07/17 Python
这可能是最好玩的python GUI入门实例(推荐)
2019/07/19 Python
Django的用户模块与权限系统的示例代码
2019/07/24 Python
基于python的selenium两种文件上传操作实现详解
2019/09/19 Python
详解CSS3中@media的实际使用
2015/08/04 HTML / CSS
英国太阳镜品牌:Taylor Morris Eyewear
2018/04/18 全球购物
大学生创业感言
2014/01/25 职场文书
学校万圣节活动方案
2014/02/13 职场文书
一年级语文教学反思
2014/02/13 职场文书
收银出纳员岗位职责
2014/02/23 职场文书
文明寄语大全
2014/04/11 职场文书
世界气象日活动总结
2015/02/27 职场文书
中学生国庆节演讲稿2015
2015/07/30 职场文书
同事欢送会致辞
2015/07/31 职场文书
2019感恩宣传标语!
2019/07/05 职场文书
JavaScript如何利用Promise控制并发请求个数
2021/05/14 Javascript
Nginx实现负载均衡的项目实践
2022/03/18 Servers
python实现商品进销存管理系统
2022/05/30 Python
Java实现注册登录跳转
2022/06/16 Java/Android