在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 相关文章推荐
ptyhon实现sitemap生成示例
Mar 30 Python
python统计日志ip访问数的方法
Jul 06 Python
[原创]使用豆瓣提供的国内pypi源
Jul 02 Python
Python读取图片为16进制表示简单代码
Jan 19 Python
Python3.5局部变量与全局变量作用域实例分析
Apr 30 Python
Python中 CSV格式清洗与转换的实例代码
Aug 29 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
Jan 06 Python
Python实现投影法分割图像示例(二)
Jan 17 Python
10个顶级Python实用库推荐
Mar 04 Python
浅谈Python 中的复数问题
May 19 Python
Python机器学习之基于Pytorch实现猫狗分类
Jun 08 Python
Python requests用法和django后台处理详解
Mar 19 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(1) php开发环境配置
2010/02/15 PHP
php字符编码转换之gb2312转为utf8
2013/10/28 PHP
ThinkPHP自动转义存储富文本编辑器内容导致读取出错的解决方法
2014/08/08 PHP
通过php添加xml文档内容的方法
2015/01/23 PHP
php metaphone()函数及php localeconv() 函数实例解析
2016/05/15 PHP
jQuery 事件队列调整方法
2009/09/18 Javascript
在IE6下发生Internet Explorer cannot open the Internet site错误
2010/06/21 Javascript
漂亮的jquery提示效果(仿腾讯弹出层)
2013/02/05 Javascript
使用mouse事件实现简单的鼠标经过特效
2015/01/30 Javascript
javascript使用shift+click实现选择和反选checkbox的方法
2015/05/04 Javascript
js正则表达式中exec用法实例
2015/07/23 Javascript
jQuery 常用代码集锦(必看篇)
2016/05/16 Javascript
AngularJS 表达式详细讲解及实例代码
2016/07/26 Javascript
Bootstrap实现渐变顶部固定自适应导航栏
2020/08/27 Javascript
nodeJS实现简单网页爬虫功能的实例(分享)
2017/06/08 NodeJs
简单谈谈原生js的math对象
2017/06/27 Javascript
Vue中点击active并第一个默认选中功能的实现
2020/02/24 Javascript
JavaScript实现多文件下载方法解析
2020/08/07 Javascript
[03:02]安得倚天剑,跨海斩长鲸——中国军团出征DOTA2国际邀请赛
2018/08/14 DOTA
[01:16:12]完美世界DOTA2联赛PWL S2 FTD vs Inki 第一场 11.21
2020/11/23 DOTA
python中字典(Dictionary)用法实例详解
2015/05/30 Python
Python实现动态添加属性和方法操作示例
2018/07/25 Python
在python里从协程返回一个值的示例
2019/02/19 Python
django foreignkey(外键)的实现
2019/07/29 Python
自适应线性神经网络Adaline的python实现详解
2019/09/30 Python
JAVA及PYTHON质数计算代码对比解析
2020/06/10 Python
Pygame框架实现飞机大战
2020/08/07 Python
在阿联酋购买翻新手机和平板电脑:Teckzu
2021/02/12 全球购物
如何拷贝一整个Java对象,包括它的状态
2013/12/27 面试题
医科大学生的自我评价
2013/12/04 职场文书
课改先进个人汇报材料
2014/01/26 职场文书
音乐专业自荐信
2014/02/07 职场文书
十佳护士获奖感言
2014/02/18 职场文书
英语专业求职信
2014/07/08 职场文书
校长创先争优承诺书
2014/08/30 职场文书
餐饮店长岗位职责
2015/04/14 职场文书