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通过BF算法实现关键词匹配的方法
Mar 13 Python
PyQt5每天必学之日历控件QCalendarWidget
Apr 19 Python
使用实现pandas读取csv文件指定的前几行
Apr 20 Python
python实现时间o(1)的最小栈的实例代码
Jul 23 Python
python+mysql实现学生信息查询系统
Feb 21 Python
Python 用三行代码提取PDF表格数据
Oct 13 Python
python模拟实现斗地主发牌
Jan 07 Python
Python中zipfile压缩文件模块的基本使用教程
Jun 14 Python
Python抓包并解析json爬虫的完整实例代码
Nov 03 Python
python 获取字典键值对的实现
Nov 12 Python
Python字节单位转换(将字节转换为K M G T)
Mar 02 Python
python第三方网页解析器 lxml 扩展库与 xpath 的使用方法
Apr 06 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 mail to 配置详解
2014/01/16 PHP
thinkPHP实现瀑布流的方法
2014/11/29 PHP
php发送与接收流文件的方法
2015/02/11 PHP
PHP生成(支持多模板)二维码海报代码
2018/04/30 PHP
Laravel框架Blade模板简介及模板继承用法分析
2019/12/03 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
基于jQuery的让非HTML5浏览器支持placeholder属性的代码
2011/05/24 Javascript
JS实现可改变列宽的table实例
2013/07/02 Javascript
JS Replace 全部替换字符的用法小结
2013/12/24 Javascript
js showModalDialog参数的使用详解
2014/01/07 Javascript
JS动态增删表格行的方法
2016/03/03 Javascript
jquery实现下拉框功能效果【实例代码】
2016/05/06 Javascript
JavaScript表单验证开发
2016/11/23 Javascript
easyUI下拉列表点击事件使用方法
2017/05/18 Javascript
浅谈vue的iview列表table render函数设置DOM属性值的方法
2017/09/30 Javascript
ionic3+Angular4实现接口请求及本地json文件读取示例
2017/10/11 Javascript
一文读懂ES7中的javascript修饰器
2019/05/06 Javascript
Vue父组件如何获取子组件中的变量
2019/07/24 Javascript
Python学习小技巧之列表项的排序
2017/05/20 Python
Python简单计算数组元素平均值的方法示例
2017/12/26 Python
Python基于SMTP协议实现发送邮件功能详解
2018/08/14 Python
python判断数字是否是超级素数幂
2018/09/27 Python
Python爬虫教程之利用正则表达式匹配网页内容
2020/12/08 Python
Python3利用scapy局域网实现自动多线程arp扫描功能
2021/01/21 Python
html5 canvas实现跟随鼠标旋转的箭头
2016/03/11 HTML / CSS
浅析HTML5中的download属性使用
2019/03/13 HTML / CSS
Ray-Ban雷朋瑞典官方网站:全球领先的太阳眼镜品牌
2019/08/22 全球购物
Java编程面试题
2016/04/04 面试题
洗煤厂厂长岗位职责
2014/01/03 职场文书
小学二年级评语
2014/04/21 职场文书
教师群众路线学习心得体会
2014/11/04 职场文书
南湾猴岛导游词
2015/02/09 职场文书
导游词之云南-元阳梯田
2019/10/08 职场文书
golang slice元素去重操作
2021/04/30 Golang
一篇文章带你了解Python和Java的正则表达式对比
2021/09/15 Python
Java实现添加条码或二维码到Word文档
2022/06/01 Java/Android