龙卷风 - RequestHandler的get_argument(),get_query_argument()和get_body_argument()之间有什么区别?

Ani*_*Das 7 python tornado httpresponse http-headers http-request

何时使用RequestHandler.get_argument(),RequestHandler.get_query_argument()RequestHandler.get_body_argument()

每个人的用例是什么?

在这些情况下request.body,request.argument做什么和做什么?在哪些场景中使用哪些?

而且,是否还有request.query类似的东西呢?

Mar*_*ers 16

大多数HTTP请求存储在两个地方一个额外的参数(比如,表单值):该URL(在形式?foo=bar&spam=eggs查询字符串),或在请求主体(使用时POST请求,无论是application/x-www-form-urlencodedmultipart/form-dataMIME类型).

Request.get_query_argument()外观的URL参数时,RequestHandler.get_body_argument()可以检索在POST体设置的参数.该RequestHandler.get_argument()方法检索正文或URL参数(按此顺序).

您可以使用Request.get_argument(),当你明确地不关心的参数来自和终端支持GET和POST参数.否则,使用其他方法之一,在参数来自的位置明确说明.

这些Request.get_*_argument方法使用request.body_argumentsrequest.query_arguments值(request.arguments作为它们的聚合),解码为Unicode.request.body是未解码的,未解析的原始请求体; 是的,有一个等价物self.query包含URL中的查询字符串.