在Python的Bottle框架中使用微信API的示例

时间:2021-05-22

微信这个东西估计宅男没几个不熟悉的吧,微信经过这么两年多的发展终于向开放平台跨出了友好的一步。蛋疼的以为微信会出一个详细的api等接口,兴奋不已的去申请了微信公共平台,然后开始找各种api的位置……

花费了近一个小时,依然没找到……

最后动用Google大杀器,终于找到了这么个链接。我了个去的,没比这还简单的api文档了吧。

最让人无法理解的是:居然没有本地开发环境支持,每次都要放在生产环境去调试。

最让人欣慰的是:就那么俩方法,生产环境调试几次也就完事了。

Python(bottle)版代码如下:

# -*- coding:utf-8 -*-from bottle import debug, default_app, run, get, request, postimport 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()

演示直接看图:

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章