作者wuwt4y (Poky)
看板Python
標題[問題] flask api & api key sign 問題
時間Tue Aug 21 13:18:54 2018
我的flask api 有實作 api key 的機制
我的簽名需要把url下去簽名
怕url被假造
問題來了
我的flask get 請求 有的參數是要url encode後的
例如:
一個GET API
參數 parameter -> 123=! > urlencode後 123%3D%21
www.test.com/api/handle/{parameter}
所以我實際請求發出去是這樣
www.test.com/api/handle/123%3D%21
那client 簽名的時候 也是用這個URL去簽名
但是問題來了
我的flask
我使用flask 的 request
所拿到的網址卻是已經decode好的樣子
印出來長這樣
www.test.com/api/handle/12=!
這樣我簽名會有問題
得再去手動處理
如果我今天GET的parameter比較多的時候
蠻麻煩的
想請問為什麼它會自動decode
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.251.26.1
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1534828737.A.5B1.html
※ 編輯: wuwt4y (60.251.26.1), 08/21/2018 13:20:24
推 ckc1ark: from werkzeug import urls 08/21 15:07
→ ckc1ark: url = urls.iri_to_uri(request.url) 試試 08/21 15:07
→ ckc1ark: 看起來拿到的是uri_to_iri過的格式 08/21 15:07