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 15 Python
python检查指定文件是否存在的方法
Jul 06 Python
Python求出0~100以内的所有素数
Jan 23 Python
在python里协程使用同步锁Lock的实例
Feb 19 Python
python实现nao机器人身体躯干和腿部动作操作
Apr 29 Python
python requests更换代理适用于IP频率限制的方法
Aug 21 Python
python 五子棋如何获得鼠标点击坐标
Nov 04 Python
python取均匀不重复的随机数方式
Nov 27 Python
python实现高斯判别分析算法的例子
Dec 09 Python
Python代码执行时间测量模块timeit用法解析
Jul 01 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
Dec 17 Python
numpy数据类型dtype转换实现
Apr 24 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中Session的概念
2006/10/09 PHP
Yii rules常用规则示例
2016/03/15 PHP
做网页的一些技巧
2007/02/01 Javascript
jquery中的$(document).ready()与window.onload的区别
2009/11/18 Javascript
jQuery插件原来如此简单 jQuery插件的机制及实战
2012/02/07 Javascript
input 输入框获得/失去焦点时隐藏/显示文字(jquery版)
2013/04/02 Javascript
jQuery的text()方法用法分析
2014/12/20 Javascript
浅谈javascript语法和定时函数
2015/05/03 Javascript
Jquery实现顶部弹出框特效
2015/08/08 Javascript
Bootstrap Table服务器分页与在线编辑应用总结
2016/08/08 Javascript
深入探讨Vue.js组件和组件通信
2016/09/12 Javascript
JS实现字符串转驼峰格式的方法
2016/12/16 Javascript
Angular2开发——组件规划篇
2017/03/28 Javascript
利用Angular2的Observables实现交互控制的方法
2018/12/27 Javascript
layer父页获取弹出层输入框里面的值方法
2019/09/02 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
2019/09/03 Javascript
vue导航栏部分的动态渲染实例
2019/11/01 Javascript
Vue路由对象属性 .meta $route.matched详解
2019/11/04 Javascript
js实现文字头像的生成代码
2020/03/07 Javascript
在HTML中使用JavaScript的两种方法
2020/12/24 Javascript
[25:45]2018DOTA2亚洲邀请赛4.5SOLO赛 Sylar vs Paparazi
2018/04/06 DOTA
[55:25]VGJ.T vs Optic Supermajor小组赛D组 BO3 第三场 6.3
2018/06/04 DOTA
python 基础学习第二弹 类属性和实例属性
2012/08/27 Python
Python中easy_install 和 pip 的安装及使用
2017/06/05 Python
Python实现KNN(K-近邻)算法的示例代码
2019/03/05 Python
Python pandas库中的isnull()详解
2019/12/26 Python
英国家喻户晓的高街品牌:River Island
2017/11/28 全球购物
Pretty Little Thing美国:时尚女性服饰
2018/08/27 全球购物
咖啡厅创业计划书范本
2014/01/22 职场文书
中文专业毕业生自荐信
2014/05/24 职场文书
任命书范本大全
2014/06/06 职场文书
工作简历自我评价
2015/03/11 职场文书
出国留学英文自荐信
2015/03/25 职场文书
小学三年级语文教学反思
2016/03/03 职场文书
《鲁滨逊漂流记》之六读后感(4篇)
2019/09/29 职场文书
spring注解 @PropertySource配置数据源全流程
2022/03/25 Java/Android