這篇文章主要介紹了在Python的Bottle框架中使用微信API的示例,作者還在文中給出了一個生成的微信可掃描的二維碼圖,需要的朋友可以參考下
微信這個東西估計宅男沒幾個不熟悉的吧,微信經過這麼兩年多的發展終於向開放平台跨出了友好的一步。蛋疼的以為微信會出一個詳細的api等接口,興奮不已的去申請了微信公共平台,然後開始找各種api的位置……
花費了近一個小時,依然沒找到……
最後動用Google大殺器,終於找到了這麼個鏈接。我了個去的,沒比這還簡單的api文檔了吧。
最讓人無法理解的是:居然沒有本地開發環境支持,每次都要放在生產環境去調試。
最讓人欣慰的是:就那麼倆方法,生產環境調試幾次也就完事了。
Python(bottle)版代碼如下:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 # -*- 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()