Never Stop Running

[Python 2.7] Flask의 request 객체 본문

진행중

[Python 2.7] Flask의 request 객체

Gyoran 2019. 9. 1. 15:49

class flask.request

from flask import request

     * 유입 요청 데이터에 접근하기 위해서, 전역 request 객체를 사용할 수 있다. 플라스크는 유입 요청 데이터를 파싱해서 전역 객체로 그 데이터에 접근하게 해준다.

 

 


 

request 객체의 속성과 메소드

dir이라는 내장 함수를 사용하여 확인하였다.

['__class__',
 '__delattr__',
 '__dict__',
 '__doc__',
 '__enter__',
 '__exit__',
 '__format__',
 '__getattribute__',
 '__hash__',
 '__init__',
 '__module__',
 '__new__',
 '__reduce__',
 '__reduce_ex__',
 '__repr__',
 '__setattr__',
 '__sizeof__',
 '__str__',
 '__subclasshook__',
 '__weakref__',
 '_cached_json',
 '_get_data_for_json',
 '_get_file_stream',
 '_get_stream_for_parsing',
 '_load_form_data',
 '_parse_content_type',
 'accept_charsets',
 'accept_encodings',
 'accept_languages',
 'accept_mimetypes',
 'access_route',
 'application',
 'args',
 'authorization',
 'base_url',
 'blueprint',
 'cache_control',
 'charset',
 'close',
 'content_encoding',
 'content_length',
 'content_md5',
 'content_type',
 'cookies',
 'data',
 'date',
 'dict_storage_class',
 'disable_data_descriptor',
 'encoding_errors',
 'endpoint',
 'environ',
 'files',
 'form',
 'form_data_parser_class',
 'from_values',
 'full_path',
 'get_data',
 'get_json',
 'headers',
 'host',
 'host_url',
 'if_match',
 'if_modified_since',
 'if_none_match',
 'if_range',
 'if_unmodified_since',
 'input_stream',
 'is_json',
 'is_multiprocess',
 'is_multithread',
 'is_run_once',
 'is_secure',
 'is_xhr',
 'json',
 'json_module',
 'list_storage_class',
 'make_form_data_parser',
 'max_content_length',
 'max_form_memory_size',
 'max_forwards',
 'method',
 'mimetype',
 'mimetype_params',
 'on_json_loading_failed',
 'parameter_storage_class',
 'path',
 'pragma',
 'query_string',
 'range',
 'referrer',
 'remote_addr',
 'remote_user',
 'routing_exception',
 'scheme',
 'script_root',
 'shallow',
 'stream',
 'trusted_hosts',
 'url',
 'url_charset',
 'url_root',
 'url_rule',
 'user_agent',
 'values',
 'view_args',
 'want_form_data_parsed']

 

 


 

추가적인 정보

사용해보았던 몇 가지 속성에 관해 기술한다.

 

1. request.method

HTTP 메소드를 확인할 수 있다.

type(request.method)
>>> <type 'str'>

 

2. request.path

type(request.path)
>>> <type 'unicode'>

 

3. request.headers

type(request.headers)
>>> <class 'werkzeug.datastructures.EnvironHeaders'>

 

4. request.args

type(request.args)
>>> <class 'werkzeug.datastructures.ImmutableMultiDict'>

 

5. request.form

type(request.form)
>>> <class 'werkzeug.datastructures.ImmutableMultiDict'>

 

6. request.environ

type(request.environ)
>>> <type 'dict'>

SERVER_NAME, SERVER_PORT, REQUEST_METHOD, PATH_INFO, QUERY_STRING, REQUEST_URI 등의 다양한 속성을 가지고 있다.

 

 

Comments