Ошибка Failed to establish a new connection: [Errno 111]

Рейтинг: 0Ответов: 1Опубликовано: 10.05.2023

есть код на python, который выполняет самый обычный get запрос на сайт(серер). Запросов делается много(порядка 3-4 в минуту). И вот уже 2 день подряд, через часов 20(может 24) запросы перестают выполняться. Стандартные заголовки и юзер агенты я использую. Пробовал через прокси - раз через раз. Подскажите, что можно сделать?

Ответы

▲ 0

Если ваш код на Python перестает выполнять запросы после продолжительного времени (около 20-24 часов) и не зависит от использования прокси-серверов, возможно, проблема связана с несколькими факторами:

Соединение с сервером: Возможно, ваше соединение с сервером закрывается после некоторого времени неактивности. Попробуйте добавить параметр keep-alive к заголовкам запроса, чтобы поддерживать активное соединение с сервером:

python

import requests

headers = {
    'User-Agent': 'Ваш User-Agent',
    'Connection': 'keep-alive'
}

response = requests.get(url, headers=headers)

Ограничение на стороне сервера: Ваш запрос может быть ограничен сервером из-за частых запросов. Проверьте политику сервера в отношении частоты запросов и ограничений на IP-адрес. Может быть полезным добавить небольшую паузу между запросами, чтобы не перегружать сервер:

python

import time
import requests

headers = {
    'User-Agent': 'Ваш User-Agent'
}

for i in range(10):
    response = requests.get(url, headers=headers)
    # Обработка ответа
    time.sleep(5)  # Пауза в 5 секунд между запросами

Блокировка вашего IP-адреса: Если вы пробовали использовать прокси-сервера и все равно испытываете проблемы, возможно, ваш IP-адрес блокируется на сервере. В этом случае вам может потребоваться использовать набор прокси-серверов или решение для обхода блокировки IP, чтобы распределить запросы по различным адресам.

Проверка наличия ошибок: Убедитесь, что вы проверяете и обрабатываете возможные ошибки, которые могут возникнуть во время выполнения запросов. Используйте конструкцию try-except для отлова и обработки исключений:

python

import requests

try:
    response = requests.get(url)
    response.raise_for_status()  # Проверка наличия ошибок
    # Обработка ответа
except requests.exceptions.RequestException as e:
    print('Произошла ошибка при выполнении запроса:', e)

Попробуйте внести эти изменения в свой код и следите за результатами. Если проблема сохраняется, вам может потребоваться обратиться к администратору сервера или провайдеру услуги хостинга для получения дополнительной информации и помощи в решении проблемы. Если не получилось решить напишите еще.