[問題] flask api & api key sign 問題

看板Python作者 (Poky)時間5年前 (2018/08/21 13:18), 5年前編輯推噓1(102)
留言3則, 1人參與, 5年前最新討論串1/1
我的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

08/21 15:07, 5年前 , 1F
from werkzeug import urls
08/21 15:07, 1F

08/21 15:07, 5年前 , 2F
url = urls.iri_to_uri(request.url) 試試
08/21 15:07, 2F

08/21 15:07, 5年前 , 3F
看起來拿到的是uri_to_iri過的格式
08/21 15:07, 3F
文章代碼(AID): #1RUw31Mn (Python)