作者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://webptt.com/cn.aspx?n=bbs/Python/M.1534828737.A.5B1.html
※ 编辑: wuwt4y (60.251.26.1), 08/21/2018 13:20:24
1F:推 ckc1ark: from werkzeug import urls 08/21 15:07
2F:→ ckc1ark: url = urls.iri_to_uri(request.url) 试试 08/21 15:07
3F:→ ckc1ark: 看起来拿到的是uri_to_iri过的格式 08/21 15:07