Подтвердить что ты не робот

Python: [Errno 10054] Существующее соединение было принудительно закрыто удаленным хостом

Я пишу python, чтобы сканировать пространство Twitter с помощью Twitter-py. Я установил сканер для сна некоторое время (2 секунды) между каждым запросом на api.twitter.com. Однако, после некоторого времени работы (около 1), когда предел ставки Twitter еще не превышен, я получил эту ошибку.

[Errno 10054] An existing connection was forcibly closed by the remote host.

Каковы возможные причины этой проблемы и как ее решить?

Я просмотрел и обнаружил, что сам сервер Twitter может заставить закрыть соединение из-за многих запросов.

Спасибо вам заблаговременно.

4b9b3361

Ответ 1

Это может быть вызвано тем, что две стороны соединения не согласны с тем, было ли время ожидания подключения или нет во время keepalive. (Ваш код пытается повторно использовать соединение так же, как сервер закрывает его, потому что он слишком долгое время простаивал.) Вы должны просто просто повторить операцию над новым соединением. (Я удивлен, что ваша библиотека не делает это автоматически.)

Ответ 2

существует много причин, таких как

  • Сетевая связь между сервером и клиентом может временно снижаться.
  • исчерпание системных ресурсов.
  • отправка неверных данных.

Чтобы подробно изучить проблему, вы можете использовать Wireshark.

или вы можете просто повторно запросить или снова подключиться.

Ответ 3

Для меня эта проблема возникла при попытке подключения к базе данных SAP Hana. Когда я получил эту ошибку,

OperationalError: Lost connection to HANA server (ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))

Я попытался запустить код для подключения (см. ниже), который создал эту ошибку, снова и сработал.

    import pyhdb
    connection = pyhdb.connect(host="example.com",port=30015,user="user",password="secret")
    cursor = connection.cursor()
    cursor.execute("SELECT 'Hello Python World' FROM DUMMY")
    cursor.fetchone()
    connection.close()

Это произошло потому, что сервер отказался подключиться. Это может потребовать, чтобы вы подождали некоторое время и повторите попытку. Попробуйте закрыть Hana Studio, выйдя из системы и снова войдя в систему. Продолжайте выполнение кода несколько раз.