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全局变量用法实例分析
Jul 19 Python
不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决
Sep 24 Python
Python多层装饰器用法实例分析
Feb 09 Python
Python3实现定时任务的四种方式
Jun 03 Python
用Python从0开始实现一个中文拼音输入法的思路详解
Jul 20 Python
基于python的列表list和集合set操作
Nov 24 Python
Django Form and ModelForm的区别与使用
Dec 06 Python
Python调用scp向服务器上传文件示例
Dec 22 Python
Python基于pygame实现单机版五子棋对战
Dec 26 Python
Python3操作读写CSV文件使用包过程解析
Apr 10 Python
如何使用PyCharm引入需要使用的包的方法
Sep 22 Python
Python urllib request模块发送请求实现过程解析
Dec 10 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/03/10 PHP
采用thinkphp自带方法生成静态html文件详解
2014/06/13 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
google 搜索框添加关键字实现代码
2010/04/24 Javascript
JavaScript中的typeof操作符用法实例
2014/04/05 Javascript
jquery 实现两Select 标签项互调示例代码
2014/09/25 Javascript
javascript 判断整数方法分享
2014/12/16 Javascript
JavaScript对表格或元素按文本,数字或日期排序的方法
2015/05/26 Javascript
详解webpack2+node+react+babel实现热加载(hmr)
2017/08/24 Javascript
element-ui 表格实现单元格可编辑的示例
2018/02/26 Javascript
vue-cli项目根据线上环境分别打出测试包和生产包
2018/05/23 Javascript
Vue头像处理方案小结
2018/07/26 Javascript
JS中async/await实现异步调用的方法
2019/08/28 Javascript
微信小程序学习总结(四)事件与冒泡实例分析
2020/06/04 Javascript
js+cavans实现图片滑块验证
2020/09/29 Javascript
[01:10]3.19DOTA2发布会 三代刀塔人第一代
2014/03/25 DOTA
Python基于动态规划算法计算单词距离
2015/07/25 Python
Python实现二叉树结构与进行二叉树遍历的方法详解
2016/05/24 Python
Django实战之用户认证(用户登录与注销)
2018/07/16 Python
VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解
2019/07/01 Python
PowerBI和Python关于数据分析的对比
2019/07/11 Python
python验证码图片处理(二值化)
2019/11/01 Python
Python装饰器如何实现修复过程解析
2020/09/05 Python
CSS3 box-shadow属性实例详解
2020/06/19 HTML / CSS
俄罗斯大型在线书店:Читай-город
2019/10/10 全球购物
建筑系毕业生自我鉴定
2014/01/24 职场文书
法定代表人身份证明书
2014/09/10 职场文书
2014年最新学校运动会广播稿
2014/09/17 职场文书
行政上诉状范文
2015/05/23 职场文书
楚门的世界观后感
2015/06/03 职场文书
法律意见书范文
2015/06/04 职场文书
教师继续教育反思周记
2015/06/25 职场文书
小学校长开学致辞
2015/07/29 职场文书
2017公司年会主持人开幕词
2016/03/04 职场文书
原生JavaScript实现简单五子棋游戏
2021/06/28 Javascript
Java获取字符串编码格式实现思路
2022/09/23 Java/Android