1

我试图在提交之前在我的移动客户端中获取一致的 URL 字符串,并在服务器上获取一致的 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,我可以在编码/解码之外进行散列?即我可以在任何时候注入我的哈希值,我可以获得一致、可靠的结果。谢谢。

4

1 回答 1

0

您可以直接从您的 WSGI 环境中获取它,但我建议您从Amazon 的书中取出一页,并定义用于签名 URL 的规范格式。然后,您可以在两端以相同的方式对 URL 进行编码和格式化,并且您不必依赖框架和代理的变幻莫测来不干扰 URL 的琐碎编码细节。

于 2012-04-27T04:16:35.947 回答