如何在请求会话中使用代理列表

时间:2019-11-29 01:14:44

标签: python session python-requests proxies

我有以下代理列表:

proxies = [
    {
        'http': 'http://user:pass@10.10.1.10:3128',
        'https': 'http://user:pass@10.10.1.10:3128'
    },
    {
        'http': 'http://user:pass@10.10.1.10:3128',
        'https': 'http://user:pass@10.10.1.10:3128'
    },
    {
        'http': 'http://user:pass@10.10.1.10:3128',
        'https': 'http://user:pass@10.10.1.10:3128'
    }
]

我在这里开会:

session = requests.Session()
session.proxies=proxies
session.get(url)

Requests文档中,我仅看到以下内容:

proxies = {
    'http': 'http://user:pass@10.10.1.10:3128',
    'https': 'http://user:pass@10.10.1.10:3128'
}

但是,每次我请求时,我都想使用多个代理。 或者每次我使用会话方法发出请求时。

def requests_retry_session(
    retries=3,
    backoff_factor=0.3,
    status_forcelist=(500, 502, 504),
    session=None,
):
    session = requests.Session()
    session.proxies=proxies
    retry = Retry(
        total=retries,
        backoff_factor=backoff_factor,
        status_forcelist=status_forcelist,
    )
    adapter = HTTPAdapter(max_retries=retry)
    session.mount('https://', adapter)
    return session
s = requests.Session()
s.auth = ('user', 'pass')
s.headers.update({'x-test': 'true'})

response = requests_retry_session(session=s).get(url)

0 个答案:

没有答案