@denislysenko
data engineer

Как скачать файл по ftp?

Есть такие данные в хранимой процедуре.
@dsmFTPServer VARCHAR(128) = 'udsfsa.qqwm.ru', --я изменил это поле
 @dsmFTPUser VARCHAR(128) = 'A-21321213',       --я изменил это поле
 @dsmFTPPwd  VARCHAR(128) = 'safsd2221saf',     --я изменил это поле
 @dsmFTPPath VARCHAR(128) = '',--'\\',      --я не изменял то поле
 @dsmWorkdir VARCHAR(128) = 'I:\in\dsm\',   --я не изменял это поле
 @reloadAll  bit= 0, --1- перегрузить все,  --я не изменял это поле
 @hostkey  varchar(max)='3d:dc:75:66:d7:0d:5a:42:3d:29:5b'  --я изменил это поле


на основе этих данных я пытаюсь подключиться к фтп и скачать данные которые находятся (как я предпологаю) в @dsmWorkdir
from ftplib import FTP

ftp = FTP('ufsafsfasfw.ru')
print(ftp.login())

#ошибка: Connection timed out


Как можно решить эту проблему?
  • Вопрос задан
  • 107 просмотров
Решения вопроса 1
@AVKor
Примерно так:
import ftplib

HOST = 'server'
USER = 'ftpuser'
PASSWD = 'ftppass'
FILE = 'file.ext'
FTP_DIR = 'dir'

with ftplib.FTP(HOST) as ftp:
    try:
        ftp.login(user=USER, passwd = PASSWD)
        ftp.cwd(FTP_DIR)
        with open(FILE, 'wb') as fp:
            ftp.retrbinary('RETR ' + FILE, fp.write)
    except ftplib.all_errors as err:
        print('FTP error:', err)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы