Your IP : 3.23.101.241
3
�8�dUs � @ s� d Z ddlZddlZddlZddlmZ ddlmZ ddlm Z m
Z
mZmZm
Z
mZ ddlmZmZmZmZ ddlmZmZmZ dd lmZmZ dd
lmZ ddlmZmZm Z ddl!m"Z"m#Z#m$Z$m%Z% dd
l&m'Z' ddl(m)Z) ddlm*Z*m+Z+m,Z,m-Z-m.Z.m/Z/ ddl0m1Z1 ddlm2Z2 ej3dk�rNy
ej4Z5W n e6k
�rJ ej7Z5Y nX nejZ5efdd�Z8efdd�Z9G 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� )�_basic_auth_str)� cookielib�is_py3�OrderedDict�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_STATIZwin32c 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&