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演示数型数据结构的教程
Apr 03 Python
python创建进程fork用法
Jun 04 Python
详解Django框架中的视图级缓存
Jul 23 Python
Django中间件实现拦截器的方法
Jun 01 Python
python 读取目录下csv文件并绘制曲线v111的方法
Jul 06 Python
Python 保存矩阵为Excel的实现方法
Jan 28 Python
Python+OpenCV采集本地摄像头的视频
Apr 25 Python
python操作文件的参数整理
Jun 11 Python
python多环境切换及pyenv使用过程详解
Sep 27 Python
详解Python time库的使用
Oct 10 Python
django formset实现数据表的批量操作的示例代码
Dec 06 Python
python 使用多线程创建一个Buffer缓存器的实现思路
Jul 02 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+APACHE实现用户论证的方法
2006/10/09 PHP
php中error与exception的区别及应用
2014/07/28 PHP
php自定文件保存session的方法
2014/12/10 PHP
PHP针对JSON操作实例分析
2015/01/12 PHP
PHP中SESSION的注销与清除
2015/04/16 PHP
php简单日历函数
2015/10/28 PHP
通过隐藏option实现select的联动效果
2009/11/10 Javascript
解读JavaScript中 For, While与递归的用法
2013/05/07 Javascript
Jquery多选框互相内容交换的实例代码
2013/07/04 Javascript
JavaScript字符串对象slice方法入门实例(用于字符串截取)
2014/10/16 Javascript
javascript实现Table排序的方法
2015/05/15 Javascript
canvas 实现中国象棋
2017/02/17 Javascript
vue 项目打包通过命令修改 vue-router 模式 修改 API 接口前缀
2018/06/13 Javascript
JavaScript数据结构与算法之基本排序算法定义与效率比较【冒泡、选择、插入排序】
2019/02/21 Javascript
JavaScript碎片—函数闭包(模拟面向对象)
2019/03/13 Javascript
简单了解小程序+node梳理登陆流程
2019/06/24 Javascript
使用JavaScript实现网页秒表功能(含开始、暂停、继续、重置功能)
2020/06/05 Javascript
python正则匹配查询港澳通行证办理进度示例分享
2013/12/27 Python
Python实现学校管理系统
2018/01/11 Python
基于scrapy的redis安装和配置方法
2018/06/13 Python
django框架防止XSS注入的方法分析
2019/06/21 Python
解决python明明pip安装成功却找不到包的问题
2019/08/28 Python
Python 正则表达式爬虫使用案例解析
2019/09/23 Python
Python Collatz序列实现过程解析
2019/10/12 Python
python 实现一个反向单位矩阵示例
2019/11/29 Python
Python实现屏幕录制功能的代码
2020/03/02 Python
Python使用monkey.patch_all()解决协程阻塞问题
2020/04/15 Python
纯CSS3实现8组超炫酷鼠标滑过图片动画
2016/03/16 HTML / CSS
通过一张图教会你CSS3倒影的实现
2017/09/26 HTML / CSS
高性能钓鱼服装:Huk Gear
2019/02/20 全球购物
英国护发和美妆在线商店:Klip Shop
2019/03/24 全球购物
平面设计师工作职责范文
2013/12/03 职场文书
银行员工犯错检讨书
2014/09/16 职场文书
合法的离婚协议书范本
2014/10/23 职场文书
2019年农民幸福观调查的实践感悟
2019/12/19 职场文书
pytorch DataLoader的num_workers参数与设置大小详解
2021/05/28 Python