在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 实现删除文件或文件夹实例详解
Dec 04 Python
Python实现的文本编辑器功能示例
Jun 30 Python
Python中用psycopg2模块操作PostgreSQL方法
Nov 28 Python
分析python动态规划的递归、非递归实现
Mar 04 Python
对python读写文件去重、RE、set的使用详解
Dec 11 Python
python监测当前联网状态并连接的实例
Dec 18 Python
详解python方法之绑定方法与非绑定方法
Aug 17 Python
django使用graphql的实例
Sep 02 Python
Python xmltodict模块安装及代码实例
Oct 05 Python
python 实现逻辑回归
Dec 30 Python
python3 实现mysql数据库连接池的示例代码
Apr 17 Python
Python关于OS文件目录处理的实例分享
May 23 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伪造referer突破网盘禁止外连的代码
2008/06/15 PHP
PHP基础之运算符的使用方法
2013/04/28 PHP
php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证
2016/05/04 PHP
php操纵mysqli数据库的实现方法
2016/09/18 PHP
PHP如何通过带尾指针的链表实现'队列'
2020/10/22 PHP
利用window.name实现windowStorage代码分享
2014/01/02 Javascript
JQuery处理json与ajax返回JSON实例代码
2014/01/03 Javascript
js库Modernizr的介绍和使用
2015/05/07 Javascript
angularjs创建弹出框实现拖动效果
2020/08/25 Javascript
jQuery Ajax页面局部加载方法汇总
2016/06/02 Javascript
几种二级联动案例(jQuery\Array\Ajax php)
2016/08/13 Javascript
node.js中module.exports与exports用法上的区别
2016/09/02 Javascript
Vue iview-admin框架二级菜单改为三级菜单的方法
2018/07/03 Javascript
浅谈TypeScript的类型保护机制
2020/02/23 Javascript
JavaScript代码简化技巧实例解析
2020/09/09 Javascript
用Python从零实现贝叶斯分类器的机器学习的教程
2015/03/31 Python
Python使用MONGODB入门实例
2015/05/11 Python
Python3编码问题 Unicode utf-8 bytes互转方法
2018/10/26 Python
Python+PyQt5实现灭霸响指功能
2020/05/25 Python
Opencv求取连通区域重心实例
2020/06/04 Python
如何使用Cython对python代码进行加密
2020/07/08 Python
使用Python将xmind脑图转成excel用例的实现代码(一)
2020/10/12 Python
CSS3实战第一波 让我们尽情的圆角吧
2010/08/27 HTML / CSS
Fossil美国官网:Fossil手表、手袋、珠宝及配件
2017/02/01 全球购物
Boston Proper官网:美国女装品牌
2017/10/30 全球购物
澳大利亚婴儿礼品公司:The Baby Gift Company
2018/11/04 全球购物
opencv实现图像平移效果
2021/03/24 Python
先进集体获奖感言
2014/02/13 职场文书
应届毕业生如何写求职信
2014/02/16 职场文书
《称象》教学反思
2014/04/25 职场文书
初一新生军训方案
2014/05/22 职场文书
先进员工获奖感言
2014/08/14 职场文书
2015年公务员个人工作总结
2015/04/24 职场文书
起诉书格式范文
2015/05/20 职场文书
python解析json数据
2022/04/29 Python
JS实现简单九宫格抽奖
2022/06/28 Javascript