這篇文章主要介紹了在Python的Bottle框架中使用微信API的示例,作者還在文中給出了一個生成的微信可掃描的二維碼圖,需要的朋友可以參考下
微信這個東西估計宅男沒幾個不熟悉的吧,微信經(jīng)過這么兩年多的發(fā)展終于向開放平臺跨出了友好的一步。蛋疼的以為微信會出一個詳細的api等接口,興奮不已的去申請了微信公共平臺,然后開始找各種api的位置……
花費了近一個小時,依然沒找到……
最后動用Google大殺器,終于找到了這么個鏈接。我了個去的,沒比這還簡單的api文檔了吧。
最讓人無法理解的是:居然沒有本地開發(fā)環(huán)境支持,每次都要放在生產(chǎn)環(huán)境去調(diào)試。
最讓人欣慰的是:就那么倆方法,生產(chǎn)環(huán)境調(diào)試幾次也就完事了。
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()
更多信息請查看IT技術(shù)專欄