10
Сен
2021

ошибка при использовании proxy с aiohttp

При использовании прокси с aiohttp вылетает ошибка:

iohttp.client_exceptions.ClientConnectorError: Cannot connect to host www.wildberries.ru:443 ssl:default [Параметр задан неверно]

Без использования proxy все работает. Но использование proxy необходимо, т.к. по моим наблюдениям сервис обрабатывает только около 200 запросов за 10 сек с одного ip.

Код:

async def get_page(urls, loop):
    headers = {
        'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
        'accept-encoding': 'gzip, deflate, br',
        'accept-language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7',
        'cache-control': 'max-age=0',
        'sec-ch-ua': '"Chromium";v="92", " Not A;Brand";v="99", "Google Chrome";v="92"',
        'sec-ch-ua-mobile': '?0',
        'sec-fetch-dest': 'document',
        'sec-fetch-mode': 'navigate',
        'sec-fetch-site': 'same-origin',
        'sec-fetch-user': '?1',
        'upgrade-insecure-requests': '1',
        'User-Agent': chose_agent()
    }

    tasks = []
    async with aiohttp.ClientSession(trust_env=True, headers=headers, loop=loop) as session:
        for url in urls:
            task = asyncio.create_task(get_page_data(session, url))
            tasks.append(task)
        await asyncio.gather(*tasks)


async def get_page_data(session, url):
    proxy = 'http://185.174.137.133:37254'
    proxy_auth = aiohttp.BasicAuth('usr', 'pass')
    await asyncio.sleep(random.randint(1, 200) / 25)
    async with session.get(url, proxy=proxy, proxy_auth=proxy_auth) as response:

Источник: https://ru.stackoverflow.com/questions/1327317/%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0-%D0%BF%D1%80%D0%B8-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8-proxy-%D1%81-aiohttp

Тебе может это понравится...

Добавить комментарий