在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 开发者应从2.x还是3.x着手?
Nov 16 Python
python字典操作实例详解
Nov 16 Python
Django admin实现图书管理系统菜鸟级教程完整实例
Dec 12 Python
解决DataFrame排序sort的问题
Jun 07 Python
Python 字符串与二进制串的相互转换示例
Jul 23 Python
Python实现端口检测的方法
Jul 24 Python
uwsgi+nginx部署Django项目操作示例
Dec 04 Python
详解Python做一个名片管理系统
Mar 14 Python
浅析使用Python搭建http服务器
Oct 27 Python
django实现将后台model对象转换成json对象并传递给前端jquery
Mar 16 Python
彻底解决pip下载pytorch慢的问题方法
Mar 01 Python
python多线程方法详解
Jan 18 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集成FCK的函数代码
2008/09/27 PHP
学习使用curl采集curl使用方法
2012/01/11 PHP
利用phpexcel把excel导入数据库和数据库导出excel实现
2014/01/09 PHP
wamp安装后自定义配置的方法
2014/08/23 PHP
php中的单引号、双引号和转义字符详解
2017/02/16 PHP
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
2013/04/02 Javascript
用js来刷新当前页面保留参数的具体实现
2013/12/23 Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
2016/05/20 Javascript
JS常见简单正则表达式验证功能小结【手机,地址,企业税号,金额,身份证等】
2017/01/22 Javascript
JavaScript实现二分查找实例代码
2017/02/22 Javascript
Angular.js实现多个checkbox只能选择一个的方法示例
2017/02/24 Javascript
vue父子组件的嵌套的示例代码
2017/09/08 Javascript
静态页面实现 include 引入公用代码的示例
2017/09/25 Javascript
jQuery实现切换隐藏与显示同时切换图标功能
2017/10/29 jQuery
浅谈Node.js 子进程与应用场景
2018/01/24 Javascript
vue.js input框之间赋值方法
2018/08/24 Javascript
Vue 组件封装 并使用 NPM 发布的教程
2018/09/30 Javascript
微信小程序实现的一键拨号功能示例
2019/04/24 Javascript
JavaScript实现滑动门效果
2020/01/18 Javascript
使用Python实现一个简单的项目监控
2015/03/31 Python
Python中用max()方法求最大值的介绍
2015/05/15 Python
Python实现字符串格式化输出的方法详解
2017/09/20 Python
pip install urllib2不能安装的解决方法
2018/06/12 Python
Python实现繁?转为简体的方法示例
2018/12/18 Python
Python 实现遥感影像波段组合的示例代码
2019/08/04 Python
python中的selenium安装的步骤(浏览器自动化测试框架)
2020/03/17 Python
使用Python文件读写,自定义分隔符(custom delimiter)
2020/07/05 Python
Python 处理日期时间的Arrow库使用
2020/08/18 Python
css3 给页面加个半圆形导航条主要利用旋转和倾斜样式
2014/02/10 HTML / CSS
Vertbaudet西班牙网上商店:婴儿服装、童装、母婴用品和儿童家具
2019/10/16 全球购物
一篇.NET面试题
2014/09/29 面试题
建筑设计所实习生自我鉴定
2013/09/25 职场文书
跳蚤市场口号
2014/06/13 职场文书
毕业论文致谢怎么写
2015/05/14 职场文书
《正面管教》读后有感:和善而坚定的旅程
2019/12/19 职场文书
VUE之图片Base64编码使用ElementUI组件上传
2022/04/09 Vue.js