在Python的Bottle框架中使用微信API的示例
作者:chairo 发布时间:2022-06-02 00:12:47
标签:Python,微信
微信这个东西估计宅男没几个不熟悉的吧,微信经过这么两年多的发展终于向开放平台跨出了友好的一步。蛋疼的以为微信会出一个详细的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()
演示直接看图:


猜你喜欢
- 有一些问题可能会遇到同元素多列去重问题,下面介绍一种非常简单效率也很快的做法,用pandas来实现。首先我们看一下数据类型:G1 G2a b
- 目录前言一、样式穿透1. 什么是样式穿透?2. 如何使用?二、混入1. 什么是混入?2. 如
- 首先是数据源:#需要求加权平均值的数据列表elements = []#对应的权值列表weights = []使用numpy直接求:impor
- 引言在使用SqlServer Express 版本的时候发现,这个版本不支持通过数据库的代理方式进行数据库的维护。解决方案使用SQL语句加w
- 看代码,tensor转numpy:a = torch.ones(2,2)b = a.numpy()c=np.array(a) #也可以转nu
- pylint是一个不错的代码静态检查工具。将其配置在pycharm中,随时对代码进行分析,确保所有代码都符合pep8规范,以便于养成良好的习
- 在Python里面,使用Pandas里面的DataFrame来存放数据的时候想要把数据集进行shuffle会许多的方法,本文介绍两种比较常用
- IE 一如既往地带来问题。真的,我觉得 IE 坚持自己的一套无所谓,不支持或者不完全支持标准也无所谓。但是,IE6 IE7 IE8 这三个版
- 目录1. 将索引从 groupby 操作转换为列2. 使用现有的 DataFrame 设置索引3. 一些操作后重置索引4.排序后重置索引5.
- import wx import imagesclass DemoTaskBarIcon(wx.TaskBarIcon): &nb
- unplugin-auto-import的配置和eslint报错解决先上官网:unplugin-auto-importunplugin-au
- SQL注入攻击是黑客对数据库进行攻击常用的手段之一,随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员
- 在这个项目中,我们将创建一个停车位计数器。我们会发现总共有多少辆车,以及有多少停车位是空的。关于本教程最好的一点是,我们将使用基本的图像处理
- 微软建议用Request.BinaryRead()读取表单数据,但由于这种方法读出的是二进制数据,需要对读出的数据逐字节进行分析,生成有意义
- 最多16列。 create table test ( f1 int, f2 int, f3 int, f4 int, f5 int, f6
- 在上个随笔中贴出了效果库的整体框架,和一个简单的opacity插件. 今天这个随笔主要是扩展其他常用 效果插件,毕竟框架只能是个空
- 1.排序示例表内容见此篇文章Mysql支持数据排序操作,例如,现在我们按照工资从小到大进行排序操作:mysql> select ena
- 连接配置方式如图:有时候Navicat并没有初始化安装sqlncli, 所以连接的时候会报 没有默认驱动,如图:解决方法:在navicat目
- 你一定很喜欢像QQ或者MSN好友登录提示的效果吧,那么怎么样能在网页中实现呢?asp之家为大家找到了这
- 前言Python经常被称作“胶水语言”,因为它能够轻易地操作其他程序,轻易地包装使用其他语言编写的库。在Python/wxPython环境下