SAE 對接服務(wù)

2018-07-24 15:17 更新

回到微信的話題上來。目前我們需要完成的一件事是,當(dāng)接受到微信服務(wù)器的 GET 請求時,直接響應(yīng)請求中的 echostr 參數(shù)的內(nèi)容即可。

把 index.wsgi 改成:

# -*- coding: utf-8 -*-

import re

def application(environ, start_response):
    q = environ.get('QUERY_STRING')
    m = re.findall('echostr=(.*)', q)[0]
    s = m.split('&', 1)[0]
    start_response('200 ok', [('content-type', 'text/plain')])
    return [s]

先使用 environ.get('QUERY_STRING') 獲取 GET 參數(shù)部分,大概形如:

signature=xx&timestamp=xxx&nonce=xxx&echostr=xxx

各個參數(shù)的順序是不一定的,如果參數(shù)中有非 ascii 的內(nèi)容,它還是被編碼后像 xx%xx% 這種樣子的。

我們現(xiàn)在不關(guān)心驗(yàn)證,只是簡單地把 echostr 的值取出來返回即可。

獲取 echostr 的值方法是通過正則表達(dá)式拿到 echostr= 后面的所有內(nèi)容,然后用 & 字符切一下就好了。這樣不管 echostr 字段其順序是在中間還是在最后,都可以正常處理。

signature=xx&timestamp=xxx&nonce=xxx&echostr=xxx
signature=xx&echostr=xxx&nonce=xxx&timestamp=xxx

把代碼通過 svn 提交,這樣在測試賬號的頁面,就可以把對接服務(wù)的 URL 設(shè)置上了。這里推薦設(shè)置成 http://xxx.sinaapp.com/wx 的形式,加一個 /wx 的 PATH 方便后面的邏輯切分,當(dāng)然,我們現(xiàn)在在 wsgi 接口上的處理還完全不涉及請求的 PATH 。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號