Я пытаюсь подключиться к безопасному FTP-серверу, созданному на основе этой ссылки . Я не следовал за шагом 8 в ссылке. Я могу установить sh соединение, а также изменить и распечатать каталоги, но не могу создать новые каталоги. Я также не могу получить список файлов.
Вот мой фрагмент кода:
import ssl
from ftplib import FTP_TLS
import sys
import os
import os.path
def connect():
ftp = FTP_TLS()
ftp.debugging = 2
ftp.connect('ipaddress', 21)
ftp.set_pasv(False)
ftp.login('user', 'passwd')
return ftp
ftps = connect()
destdir = "/"
try:
resp = ftps.pwd()
ftps.cwd(destdir)
except Exception:
ftps.mkd(destdir)
print(resp)
root = 'C:\\Users\\****\\****\\Logs' # local dir
for (dir, _, files) in os.walk(root):
newdir = destdir+dir[len(root):len(dir)].replace("\\", "/")
print(newdir)
try:
ftps.cwd(newdir)
except Exception:
ftps.mkd(newdir)
Я использую python 3.7.3 и соответствующий ftplib. Я был бы рад предоставить любую другую необходимую информацию.
PS: я могу соединиться с Filezilla и создать каталоги.
Это ошибка после запуска.
Я могу успешно создавать каталоги, когда я изменяю каталог на / logs. Я получаю сообщение об ошибке «ftplib.error_perm: 500 Недопустимая команда PORT». всякий раз, когда я посылаю cmd как retrlines или storbinary, я получаю error Я искал об этом, и люди просили установить его в режим pasv. Когда я это делаю, я получаю эту ошибку . К вашему сведению, я включил режим pasv в файле конфигурации. Я попытался изменить номер порта на число между портами pasv, включенными в файле конфигурации (между 30000-31000). Не подключается и в этом случае. Возвращена ошибка: «ConnectionRefusedError: [WinError 10061] Не удалось установить соединение, поскольку целевая машина активно отказывала в этом». Я впервые работаю с FTP-сервером или, если на то пошло, с любым сервером, поэтому мои проблемы могут показаться тривиальными. Я прошу прощения за ваши проблемы. Спасибо.