관리-도구
편집 파일: sessions.cpython-36.pyc
3 �Re�r � @ s� d Z ddlZddlZddlZddlmZ ddlmZ ddlm Z ddl mZmZm Z mZmZ ddlmZmZmZmZ dd lmZmZmZ dd lmZmZ ddlmZ ddlmZm Z m!Z! dd l"m#Z#m$Z$m%Z%m&Z& ddl'm(Z( ddl)m*Z* ddlm+Z+m,Z,m-Z-m.Z.m/Z/m0Z0 ddl1m2Z2 ddlm3Z3 ej4dk�rVy ej5Z6W n e7k �rR ej8Z6Y nX nejZ6efdd�Z9efdd�Z:G dd� de;�Z<G dd� de<�Z=dd� Z>dS )z� requests.session ~~~~~~~~~~~~~~~~ This module provides a Session object to manage and persist settings across requests (cookies, auth, proxies). � N)� timedelta)�OrderedDict� )�_basic_auth_str)� cookielib�is_py3�urljoin�urlparse�Mapping)�cookiejar_from_dict�extract_cookies_to_jar�RequestsCookieJar� merge_cookies)�Request�PreparedRequest�DEFAULT_REDIRECT_LIMIT)� default_hooks� dispatch_hook)�to_native_string)�to_key_val_list�default_headers� DEFAULT_PORTS)�TooManyRedirects� InvalidSchema�ChunkedEncodingError�ContentDecodingError)�CaseInsensitiveDict)�HTTPAdapter)�requote_uri�get_environ_proxies�get_netrc_auth�should_bypass_proxies�get_auth_from_url�rewind_body)�codes)�REDIRECT_STATI�win32c C st |dkr| S | dkr|S t |t�o*t | t�s0| S |t|��}|jt| �� dd� |j� D �}x|D ] }||= qbW |S )z�Determines appropriate setting for a given request, taking into account the explicit setting on that request, and the setting in the session. If a setting is a dictionary, they will be merged together using `dict_class` Nc S s g | ]\}}|d kr|�qS )N� )�.0�k�vr'