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中的yield使用方法
Feb 11 Python
python根据开头和结尾字符串获取中间字符串的方法
Mar 26 Python
Python批量按比例缩小图片脚本分享
May 21 Python
python实现下载指定网址所有图片的方法
Aug 08 Python
提升Python程序性能的7个习惯
Apr 14 Python
pandas 强制类型转换 df.astype实例
Apr 09 Python
Keras实现支持masking的Flatten层代码
Jun 16 Python
python能在浏览器能运行吗
Jun 17 Python
Python如何实现线程间通信
Jul 30 Python
Python字典dict常用方法函数实例
Nov 09 Python
安装pyinstaller遇到的各种问题(小结)
Nov 20 Python
pandas时间序列之pd.to_datetime()的实现
Jun 16 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
APACHE的AcceptPathInfo指令使用介绍
2013/01/18 PHP
浅析ThinkPHP中execute和query方法的区别
2014/06/13 PHP
PHP实现PDO的mysql数据库操作类
2014/12/12 PHP
PHP实现简单爬虫的方法
2015/07/29 PHP
php实现xml转换数组的方法示例
2017/02/03 PHP
复制本贴标题和地址的js代码
2008/07/01 Javascript
js 获取计算后的样式写法及注意事项
2013/02/25 Javascript
jquery隔行换色效果实现方法
2015/01/15 Javascript
javascript字符串替换函数如何一次性全部替换掉
2015/10/30 Javascript
js 获取经纬度的实现方法
2016/06/20 Javascript
基于JS实现bookstore静态页面的实例代码
2017/02/22 Javascript
EasyUI中的dataGrid的行内编辑
2017/06/22 Javascript
使用 Element UI Table 的 slot-scope方法
2019/10/10 Javascript
微信小程序实现多图上传
2020/06/19 Javascript
[03:37]2016完美“圣”典 风云人物:Mikasa专访
2016/12/07 DOTA
Python实现的一个简单LRU cache
2014/09/26 Python
使用Python开发windows GUI程序入门实例
2014/10/23 Python
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
2018/07/30 Python
python3安装speech语音模块的方法
2018/12/24 Python
Django框架模板介绍
2019/01/15 Python
解决Django Static内容不能加载显示的问题
2019/07/28 Python
浅谈pycharm使用及设置方法
2019/09/09 Python
python实现126邮箱发送邮件
2020/05/20 Python
python判断正负数方式
2020/06/03 Python
sklearn线性逻辑回归和非线性逻辑回归的实现
2020/06/09 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
2021/01/05 Python
Pycharm 设置默认解释器路径和编码格式的操作
2021/02/05 Python
瑞典Happy Socks美国官网:购买色彩斑斓的快乐袜子
2016/10/19 全球购物
财务科科长岗位职责
2014/03/10 职场文书
《毛主席在花山》教学反思
2014/04/20 职场文书
亮剑观后感
2015/06/05 职场文书
利用python做表格数据处理
2021/04/13 Python
详解Java线程池是如何重复利用空闲线程的
2021/06/26 Java/Android
Java后端 Dubbo retries 超时重试机制的解决方案
2022/04/14 Java/Android
WinServer2012搭建DNS服务器的方法步骤
2022/06/10 Servers
springboot 全局异常处理和统一响应对象的处理方式
2022/06/28 Java/Android