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

字號:


    這篇文章主要介紹了在Python的Bottle框架中使用微信API的示例,作者還在文中給出了一個生成的微信可掃描的二維碼圖,需要的朋友可以參考下
    微信這個東西估計宅男沒幾個不熟悉的吧,微信經(jīng)過這么兩年多的發(fā)展終于向開放平臺跨出了友好的一步。蛋疼的以為微信會出一個詳細(xì)的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()