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构造icmp echo请求和实现网络探测器功能代码分享
Jan 10 Python
Python help()函数用法详解
Mar 11 Python
介绍Python中的文档测试模块
Apr 28 Python
在Python的Django框架中更新数据库数据的方法
Jul 17 Python
Python迭代器与生成器基本用法分析
Jul 26 Python
使用WingPro 7 设置Python路径的方法
Jul 24 Python
python遍历文件目录、批量处理同类文件
Aug 31 Python
Python使用grequests(gevent+requests)并发发送请求过程解析
Sep 25 Python
Python hashlib模块加密过程解析
Nov 05 Python
Python多继承以及MRO顺序的使用
Nov 11 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
Mar 01 Python
520使用Python实现“我爱你”表白
May 20 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 执行系统命令的方法
2009/07/07 PHP
PHP curl实现抓取302跳转后页面的示例
2014/07/04 PHP
PHP防盗链代码实例
2014/08/27 PHP
jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
2014/10/15 PHP
用 Composer构建自己的 PHP 框架之基础准备
2014/10/30 PHP
怎样搭建PHP开发环境
2015/07/28 PHP
如何使用纯PHP实现定时器任务(Timer)
2015/07/31 PHP
js中判断数字\字母\中文的正则表达式 (实例)
2012/06/29 Javascript
jQuery建立一个按字母顺序排列的友好页面索引(兼容IE6/7/8)
2013/02/26 Javascript
JS去除数组重复值的五种不同方法
2013/09/06 Javascript
javascript关于open.window子页面执行完成后刷新父页面的问题分析
2015/04/27 Javascript
跟我学习javascript的闭包
2015/11/16 Javascript
js密码强度检测
2016/01/07 Javascript
javascript实现label标签跳出循环操作
2016/03/06 Javascript
js轮盘抽奖实例分析
2020/04/17 Javascript
JavaScript String(字符串)对象的简单实例(推荐)
2016/08/31 Javascript
BootStrap与validator 使用笔记(JAVA SpringMVC实现)
2016/09/21 Javascript
Angular2入门教程之模块和组件详解
2017/05/28 Javascript
Vue-Router进阶之滚动行为详解
2017/09/13 Javascript
vue中$refs的用法及作用详解
2018/04/24 Javascript
Angular7创建项目、组件、服务以及服务的使用
2019/02/19 Javascript
python生成日历实例解析
2014/08/21 Python
举例讲解Python中的list列表数据结构用法
2016/03/12 Python
详解字典树Trie结构及其Python代码实现
2016/06/03 Python
django admin 后台实现三级联动的示例代码
2018/06/22 Python
使用Python读取二进制文件的实例讲解
2018/07/09 Python
Python 移动光标位置的方法
2019/01/20 Python
Django models.py应用实现过程详解
2019/07/29 Python
使用coverage统计python web项目代码覆盖率的方法详解
2019/08/05 Python
万宝龙英国官网:Montblanc手表、书写工具、皮革和珠宝
2018/10/16 全球购物
学生安全责任书
2014/04/15 职场文书
2014年会计人员工作总结
2014/12/10 职场文书
公司清洁工岗位职责
2015/04/15 职场文书
2015年公司工作总结
2015/04/25 职场文书
如何书写读后感?(附范文)
2019/07/26 职场文书
电脑无法安装Windows 11怎么办?无法安装Win11的解决方法
2021/11/21 数码科技