поэтому я сделал скрипт Python для получения данных из API REST zipato, я загрузил скрипт на хост-сервер Ubuntu и запустил его с экраном. Он работает нормально и все получает данные, спустя несколько дней (4-5) после работает, я получаю этот журнал на экране «INFO: запросы.packages.urllib3.connectionpool: сброс сброшенного соединения: my.zipato.com», и скрипт перестает работать. Также это появляется ниже, я помещаю его на случай, если это поможет получить ответ проще.
Traceback (most recent call last):
File "Data.py" line 189,in <module>
types = data_requests(jsessionid, desired_attributes)
.Что конкретно означает этот сброс сброшенного журнала подключений и как от него избавиться?
Я учел не слишком сильно напрягать API, поэтому я сделал данные запроса скрипта через 15-минутный интервал, а также вышел из системы один раз в день, сделал 1-часовой перерыв, затем вошел в систему и начал заново, пока он не выйдет из системы. снова на следующий день. Также я полагал, что это освежит соединение и избавит от проблемы, но он настаивает. Ниже приведен код. Что я делаю не так?
connection = requests.session()
#get nonce and jsessionid
nonce, jsessionid = initialize_session(connection)
#produce token
token = generate_token(psw, nonce)
#log in
login(jsessionid, token, user, connection)
#calculate time for the log out operation
twentyfour_hours = datetime.now() + timedelta(hours=24)
print('session will expire after: ' + format(twentyfour_hours, '%H:%M:%S'))
#delay between each data retrieval
retrieve_delay = 900
#delay to log in again after log out
login_delay = 3600
while True:
loggintime = datetime.now()
timedif = twentyfour_hours - loggintime
print('time until expiration: ')
print(timedif)
#what to do when the hour mark has passed
if loggintime > twentyfour_hours:
logout = connection.get('https://my.zipato.com:443/zipato-web/v2/user/logout',
cookies={'JSESSIONID': jsessionid})
print('Loging out...')
time.sleep(login_delay)
print('New Log in session')
connection = requests.session()
nonce, jsessionid = initialize_session(connection)
token = generate_token(psw, nonce)
login(jsessionid, token, user, connection)
twentyfour_hours = datetime.now() + timedelta(hours=24)
print('session will log out after: ' + format(twentyfour_hours, '%H:%M:%S'))
types = data_request(jsessionid, desired_attributes, connection)
time.sleep(retrieve_delay)