在Python的Bottle框架中使用微信API的示例


Posted in Python onApril 23, 2015

微信这个东西估计宅男没几个不熟悉的吧,微信经过这么两年多的发展终于向开放平台跨出了友好的一步。蛋疼的以为微信会出一个详细的api等接口,兴奋不已的去申请了微信公共平台,然后开始找各种api的位置……

花费了近一个小时,依然没找到……

最后动用Google大杀器,终于找到了这么个链接。我了个去的,没比这还简单的api文档了吧。

最让人无法理解的是:居然没有本地开发环境支持,每次都要放在生产环境去调试。

最让人欣慰的是:就那么俩方法,生产环境调试几次也就完事了。

Python(bottle)版代码如下:

# -*- coding:utf-8 -*-

from bottle import debug, default_app, run, get, request, post

import sys, os, time, libxml2dom

@get('/')

def index():

  return request.GET.get('echostr')

@post('/')

def index_post():

  for key, value in request.POST.allitems():

    doc = libxml2dom.parseString(key)

    _to = doc.xpath('//FromUserName')[0].textContent

    _from = doc.xpath('//ToUserName')[0].textContent

    #_content = doc.xpath('//Content')[0].textContent

  return """<xml>

<ToUserName><![CDATA[%s]]></ToUserName>

<FromUserName><![CDATA[%s]]></FromUserName>

<CreateTime>%s</CreateTime>

<MsgType><![CDATA[text]]></MsgType>

<Content><![CDATA[%s]]></Content>

<FuncFlag>0</FuncFlag>

</xml>"""%(_to, _from, int(time.time()), u'我了个去啊')

if __name__ == "__main__":

  # Interactive mode

  debug(True)

  port = int(sys.argv[1] if len(sys.argv) > 1 else 8888)

  run(host='0.0.0.0', port=port, reloader=True)

else:

  # Mod WSGI launch

  os.chdir(os.path.dirname(__file__))

  app = default_app()

演示直接看图:

在Python的Bottle框架中使用微信API的示例

Python 相关文章推荐
详解在Python程序中解析并修改XML内容的方法
Nov 16 Python
学习python之编写简单简单连接数据库并执行查询操作
Feb 27 Python
python+selenium实现163邮箱自动登陆的方法
Dec 31 Python
python实现泊松图像融合
Jul 26 Python
Python之使用adb shell命令启动应用的方法详解
Jan 07 Python
只需7行Python代码玩转微信自动聊天
Jan 27 Python
Django结合ajax进行页面实时更新的例子
Aug 12 Python
Python+numpy实现矩阵的行列扩展方式
Nov 29 Python
简单了解Django ORM常用字段类型及参数配置
Jan 07 Python
Python多进程multiprocessing、进程池用法实例分析
Mar 24 Python
django 数据库 get_or_create函数返回值是tuple的问题
May 15 Python
解决pycharm下载库时出现Failed to install package的问题
Sep 04 Python
最基础的Python的socket编程入门教程
Apr 23 #Python
利用Python实现简单的相似图片搜索的教程
Apr 23 #Python
以911新闻为例演示Python实现数据可视化的教程
Apr 23 #Python
Python中优化NumPy包使用性能的教程
Apr 23 #Python
python通过自定义isnumber函数判断字符串是否为数字的方法
Apr 23 #Python
用Python给文本创立向量空间模型的教程
Apr 23 #Python
用Python进行行为驱动开发的入门教程
Apr 23 #Python
You might like
PHP默认安装产生系统漏洞
2006/10/09 PHP
在PHP中养成7个面向对象的好习惯
2010/01/28 PHP
thinkphp四种url访问方式详解
2014/11/28 PHP
jQuery判断checkbox是否选中的3种方法
2014/08/12 Javascript
Js 正则表达式知识汇总
2014/12/02 Javascript
jQuery获取样式中颜色值的方法
2015/01/29 Javascript
jQuery实现模拟marquee标签效果
2015/07/14 Javascript
JQuery遍历元素的后代和同胞实现方法
2016/09/18 Javascript
javascript阻止事件冒泡和浏览器的默认行为
2017/01/21 Javascript
jquery实现拖动效果(代码分享)
2017/01/25 Javascript
Vue.js 2.0和Cordova开发webApp环境搭建方法
2018/02/26 Javascript
JS实现的倒计时恢复按钮点击功能【可用于协议阅读倒计时】
2018/04/19 Javascript
JS实现的JSON序列化操作简单示例
2018/07/02 Javascript
为nuxt项目写一个面包屑cli工具实现自动生成页面与面包屑配置
2019/09/29 Javascript
微信小程序实现通讯录列表展开收起
2020/11/18 Javascript
Python修改MP3文件的方法
2015/06/15 Python
python中os和sys模块的区别与常用方法总结
2017/11/14 Python
python脚本实现验证码识别
2018/06/07 Python
pycharm debug功能实现跳到循环末尾的方法
2018/11/29 Python
在python中对变量判断是否为None的三种方法总结
2019/01/23 Python
Python和Go语言的区别总结
2019/02/20 Python
python2和python3实现在图片上加汉字的方法
2019/08/22 Python
详解Python3定时器任务代码
2019/09/23 Python
Python pickle模块实现对象序列化
2019/11/22 Python
CSS3 简写animation
2012/05/10 HTML / CSS
JSF面试题:如何管量web层中的Bean,用什么标签。如何通过jsp页面与Bean绑定在一起进行处理?
2012/10/05 面试题
Java面试题:Java类的Main方法如果是Private将会怎么样
2016/08/18 面试题
什么是岗位职责
2013/11/12 职场文书
小学优秀教育工作者事迹材料
2014/05/09 职场文书
艺术设计专业求职自荐信
2014/05/19 职场文书
合作意向书
2014/07/30 职场文书
学校党的群众路线教育实践活动对照检查材料
2014/09/24 职场文书
2014年机关党建工作总结
2014/11/11 职场文书
2017年寒假社区服务活动总结
2016/04/06 职场文书
Mysql中where与on的区别及何时使用详析
2021/08/04 MySQL
详解Golang如何实现支持随机删除元素的堆
2022/09/23 Python