Я загружаю много больших файлов (по 3,4 ГБ каждый) на веб-сайты с видеоматериалами и написал скрипт на Python, чтобы последовательно загружать их на каждый сайт. Обычно это работает без проблем, но сегодня файлы не удалось загрузить на один из сайтов, и для каждого файла возвращалось это сообщение об ошибке:
Traceback (most recent call last):
File "D:\upload.py", line 174, in sequentially_upload_videos_to_sites
ftp.storbinary('STOR {}'.format(item_name), fp, 8192)
File "C:\Program Files\Python\Python38\lib\ftplib.py", line 492, in storbinary
conn.sendall(buf)
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host
Я не понимаю, почему это происходит. Мой код не изменился по сравнению с предыдущими временами, когда он работал. Я предполагаю, что это проблема сервера, но я не уверен. Поскольку эти загрузки занимают много времени (у меня подключение к Интернету медленнее, чем было в прошлом, сейчас скорость составляет около 7 Мбит / с), мне интересно, не задерживает ли меня сервер по тайм-ауту. Есть ли способ подтвердить, что это проблема, и если да, то как запросить более длительное время ожидания? Для справки, когда я загрузил на этот веб-сайт кучу файлов меньшего размера, все они были успешно загружены .
Мой код в основном таков:
ftp = FTP()
ftp.set_debuglevel(2)
ftp.connect(df.loc[site_name]['Host'], 21)
ftp.login(df.loc[site_name]['Username'], df.loc[site_name]['FTP_Key'])
fp = open(item_path, 'rb')
ftp.storbinary('STOR {}'.format(item_name), fp, 8192)
fp.close()
Эти веб-сайты не поддерживают TLS.