2011-11-07 11 views
0

Google App Engineでwebappを使用しています。Webappがrequest.body()の呼び出しによってrequest.bodyの内容が変更されました。

私は最近request.get('variable_name')を呼び出しました。これは正常に機能しましたが、内容は完全にrequest.bodyに変更されました。

詳細を見ると、request.get()を呼び出さないと、request.bodyはURLの書式設定なしでテキストを生成します。しかし、通話後にrequest.get()request.bodyにURLフォーマット(多くの '%'記号など)を含むテキストが含まれるようになりました。

私はwebappを間違って使用していますか?情報検索のためにこれら2つの方法を混ぜ合わせて一致させるべきではありませんか?ここで

は、いくつかのサンプルコードです:

class profiles_resource(webapp.RequestHandler): 
    def post(self): 
     # Value of request.body in debugger: 'str: {"query":"SELECT..." 
     token = self.request.get('token') 
     # Value of request.body in debugger: '%7B%22query%22%3A%22SELECT..." 
+0

私たちにあなたのコードを教えてください – systempuntoout

+0

@systempuntoout - 問題ありません! –

答えて

1

request.getは体がformencodedされると仮定すると、クエリ文字列とリクエストのボディの両方でリクエストパラメータを探します。身体を直接読む場合は、self.request.getまたはself.request.POSTを使用しないでください。

+0

したがって、request.getの呼び出しによってrequest.bodyの内容が変更される可能性がありますか? –

+0

@DutrowLLCおそらく。一般的に両方にアクセスするのは理にかなっていません - なぜ必要なのですか? –

+0

私は体にJSON構造を持っています。だから私は体全体を取ってそれを辞書オブジェクトに変換します。次に、別の目的を持つURLを介して入力されるキーと値のペアがあります。 –

関連する問題