获取请求数据

Sanic路由处理函数的第一个参数都是一个sanic.request.Request类的实例,其中保存了一次HTTP请求中所携带的全部信息。对于请求中所携带的信息,一般是通过Request类提供的属性和一些方法来获取的。其中常用的属性主要有以下这些。

  • .json,对象类型,请求中用JSON格式提交的表单数据。
  • .args,字典类型,请求中携带的Query参数。
  • .query_args,列表类型,使用(key, value)形式的元组保存Query参数。
  • .raw_args,字典类型,所有Query参数,对于Query参数中同名参数只保留第一个值。
  • .form,字典类型,保存着使用Form Data格式提交的保单数据。
  • .files,字典类型,保存的值为文件对象,文件对象中有以下字段可供访问请求中上传的文件。
    • .name,上传的文件名。
    • .type,上传文件的文件类型。
    • .body,上传文件的文件体。
  • .body,字节数组,请求中提交的原始请求体数据。
  • .headers,字典类型,请求头内容,其中请求头名称区分大小写。
  • .methods,字符串类型,HTTP请求方法。
  • .ip,字符串类型,请求者的IP地址。
  • .port,字符串类型,请求者发送请求时的端口。
  • .socket,元组类型,其中包含请求者的IP和端口。
  • .app,响应请求的Sanic实例。
  • .url,请求的具体URL。
  • .scheme,请求使用的协议,如httphttpswswss
  • .host,请求的主机名称。
  • .server_name,请求的主机名称,不包含端口号。
  • .server_port,请求的主机端口号。
  • .path,请求URL的路径。
  • .query_string,请求的URL中包含的原始Query参数字符串。
  • .uri_template,匹配到请求URL的路由路径。
  • .token,请求头中的Authentication值。