我正在尝试在提交之前在我的移动客户端中获取一致的URL字符串,并且在收到服务器之后,为了安全校验和目的,能够可靠地添加哈希。目前我在客户端上添加了URL编码之后的哈希值,并尝试在服务器上解码任何内容之前获取URL,但是我已经解码了一个字符(句点):
当我发布这样的内容时:
https://myapp.appspot.com/endpt?par=0%3Afirstlast%40gmail%2Ecom&di . . .
服务器上的这个:
self.request.url
我明白了:
https://myapp.appspot.com/endpt?par=0%3Afirstlast%40gmail.com&di . . .
从此:
self.request.get('par')
我按照我的预期完全解码了它:
0:firstlast@gmail.com
我想知道如何在发生任何解码之前抓取URL?或者,如果可以抓取整个查询部分解码的URL,我可以在编码/解码之外进行散列处理吗?即我可以在任何时候注入我的哈希,我可以获得一致,可靠的结果。感谢。
答案 0 :(得分:0)
您可以直接从WSGI环境中获取此内容,但我建议改为使用Amazon's book中的页面,并定义用于签名URL的规范格式。然后,您可以在两端以相同的方式对URL进行编码和格式化,并且您不必依赖框架和代理的变幻莫测,不要干扰URL的简单编码细节。