這篇文章主要介紹了在Python的Bottle框架中使用微信API的示例,作者還在文中給出了一個(gè)生成的微信可掃描的二維碼圖,需要的朋友可以參考下
微信這個(gè)東西估計(jì)宅男沒(méi)幾個(gè)不熟悉的吧,微信經(jīng)過(guò)這么兩年多的發(fā)展終于向開(kāi)放平臺(tái)跨出了友好的一步。蛋疼的以為微信會(huì)出一個(gè)詳細(xì)的api等接口,興奮不已的去申請(qǐng)了微信公共平臺(tái),然后開(kāi)始找各種api的位置……
花費(fèi)了近一個(gè)小時(shí),依然沒(méi)找到……
最后動(dòng)用Google大殺器,終于找到了這么個(gè)鏈接。我了個(gè)去的,沒(méi)比這還簡(jiǎn)單的api文檔了吧。
最讓人無(wú)法理解的是:居然沒(méi)有本地開(kāi)發(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'我了個(gè)去啊')
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()
更多信息請(qǐng)查看IT技術(shù)專欄