1

セキュリティチェックサムの目的でハッシュを確実に追加できるように、送信する前にモバイルクライアントで、受信したサーバーで一貫したURL文字列を取得しようとしています。現在、クライアントでURLエンコードした後にハッシュを追加し、サーバーで何かがデコードされる前にURLを取得しようとしていますが、すでに1文字(ピリオド)がデコードされています。

私がこのようなものを投稿するとき:

 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 に答える