在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实现多线程抓取网页功能实例详解
Jun 08 Python
python的pdb调试命令的命令整理及实例
Jul 12 Python
python清理子进程机制剖析
Nov 23 Python
关于Python正则表达式 findall函数问题详解
Mar 22 Python
Python定时任务工具之APScheduler使用方式
Jul 24 Python
tesserocr与pytesseract模块的使用方法解析
Aug 30 Python
Python字典生成式、集合生成式、生成器用法实例分析
Jan 07 Python
Python常用库大全及简要说明
Jan 17 Python
python实现简单的购物程序代码实例
Mar 03 Python
python中加背景音乐如何操作
Jul 19 Python
使用python批量修改XML文件中图像的depth值
Jul 22 Python
如何用PyPy让你的Python代码运行得更快
Dec 02 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带公钥加密类分享(每次加密结果都不一样哦)
2014/08/20 PHP
PHP生成不重复标识符的方法
2014/11/21 PHP
Yii实现单用户博客系统文章详情页插入评论表单的方法
2015/12/28 PHP
PHPCMS忘记后台密码的解决办法
2016/10/30 PHP
学习YUI.Ext 第三天
2007/03/10 Javascript
经典海量jQuery插件 大家可以收藏一下
2010/02/07 Javascript
Javascript Math ceil()、floor()、round()三个函数的区别
2010/03/09 Javascript
原生js三级联动的简单实现代码
2016/06/07 Javascript
jQuery可见性过滤选择器用法示例
2016/09/09 Javascript
JS控制div跳转到指定的位置的几种解决方案总结
2016/11/05 Javascript
Bootstrap基本组件学习笔记之input输入框组(9)
2016/12/07 Javascript
详解Vue中添加过渡效果
2017/03/20 Javascript
使用jQuery卸载全部事件的思路详解
2017/04/03 jQuery
Angularjs 事件指令详细整理
2017/07/27 Javascript
javascript高仿热血传奇游戏实现代码
2018/02/22 Javascript
Vue组件内部实现一个双向数据绑定的实例代码
2019/04/04 Javascript
基于mpvue的简单弹窗组件mptoast使用详解
2019/08/02 Javascript
微信小程序实现侧边分类栏
2019/10/21 Javascript
[02:06]2018完美世界全国高校联赛秋季赛开始报名(附彩蛋)
2018/09/03 DOTA
Python中的包和模块实例
2014/11/22 Python
Python利用pandas计算多个CSV文件数据值的实例
2018/04/19 Python
通过PHP与Python代码对比的语法差异详解
2019/07/10 Python
查找适用于matplotlib的中文字体名称与实际文件名对应关系的方法
2021/01/05 Python
加拿大购物频道:The Shopping Channel
2016/07/21 全球购物
为女性购买传统的印度服装和婚纱:Kalkifashion
2019/07/22 全球购物
应用心理学个人求职信范文
2013/12/11 职场文书
区域销售经理职责
2013/12/22 职场文书
参观监狱心得体会
2014/01/02 职场文书
敬老文明号事迹材料
2014/01/16 职场文书
网络书店创业计划书
2014/02/07 职场文书
房地产开盘策划方案
2014/02/10 职场文书
二年级班级文化建设方案
2014/05/10 职场文书
社区元宵节活动总结
2015/02/06 职场文书
2015年加油站工作总结
2015/05/13 职场文书
2015选调生工作总结
2015/07/24 职场文书
Java内存模型之happens-before概念详解
2021/06/13 Java/Android