在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异常处理慎用“except:pass”建议
Apr 02 Python
详解Django中的权限和组以及消息
Jul 23 Python
Python中str is not callable问题详解及解决办法
Feb 10 Python
PyQt5每天必学之事件与信号
Apr 20 Python
Python3利用Dlib19.7实现摄像头人脸识别的方法
May 11 Python
Python构建图像分类识别器的方法
Jan 12 Python
python3.x实现base64加密和解密
Mar 28 Python
Python线上环境使用日志的及配置文件
Jul 28 Python
python修改文件内容的3种方法详解
Nov 15 Python
TensorFlow实现保存训练模型为pd文件并恢复
Feb 06 Python
python针对Oracle常见查询操作实例分析
Apr 30 Python
Python压缩模块zipfile实现原理及用法解析
Aug 14 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
咖啡因含量是由谁决定的?低因咖啡怎么来?低因咖啡适合什么人喝
2021/03/06 新手入门
PHP运行环境配置与开发环境的配置(图文教程)
2013/06/04 PHP
利用curl抓取远程页面内容的示例代码
2013/07/23 PHP
Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
2016/11/03 PHP
在Laravel的Model层做数据缓存的实现
2019/09/26 PHP
JSON 编辑器实现代码
2009/12/06 Javascript
JQuery 插件模板 制作jquery插件的朋友可以参考下
2010/03/17 Javascript
jQuery制作简洁的多级联动Select下拉框
2014/12/23 Javascript
jquery实现华丽的可折角广告代码
2015/09/02 Javascript
AngularJS实现元素显示和隐藏的几个案例
2015/12/09 Javascript
基于AngularJS+HTML+Groovy实现登录功能
2016/02/17 Javascript
url传递的参数值中包含&amp;时,url自动截断问题的解决方法
2016/08/02 Javascript
最实用的jQuery分页插件
2016/10/09 Javascript
React利用插件和不用插件实现双向绑定的方法详解
2017/07/03 Javascript
React如何利用相对于根目录进行引用组件详解
2017/10/09 Javascript
禁止弹窗中蒙层底部页面跟随滚动的几种方法
2017/12/07 Javascript
10个经典的网页鼠标特效代码
2018/01/09 Javascript
nodejs前端模板引擎swig入门详解
2018/05/15 NodeJs
详解使用create-react-app添加css modules、sasss和antd
2018/07/31 Javascript
JavaScript偏函数与柯里化实例详解
2019/03/27 Javascript
详解如何实现Element树形控件Tree在懒加载模式下的动态更新
2019/04/25 Javascript
vue组件系列之TagsInput详解
2020/05/14 Javascript
Openlayers学习之加载鹰眼控件
2020/09/28 Javascript
JS检测浏览器开发者工具是否打开的方法详解
2020/10/02 Javascript
微信小程序实现锚点跳转
2020/11/23 Javascript
使用CodeMirror实现Python3在线编辑器的示例代码
2019/01/14 Python
Python基本类型的连接组合和互相转换方式(13种)
2019/12/16 Python
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
2020/02/05 Python
python绘制汉诺塔
2021/03/01 Python
CSS3中伪元素::before和::after的用法示例
2017/09/18 HTML / CSS
突破canvas语法限制 让他支持链式语法
2012/12/24 HTML / CSS
Baby Tulai澳大利亚:美国婴儿背带品牌
2018/10/15 全球购物
软件测试英文面试题
2012/10/14 面试题
2016年小学圣诞节活动总结
2016/03/31 职场文书
八年级作文之感悟亲情
2019/11/20 职场文书
使用CSS实现按钮边缘跑马灯动画
2023/05/07 HTML / CSS