ejemplo - python ftp server
Python ftplib-especifique el puerto (4)
Me gustaría especificar el puerto con el cliente ftplib de Python (en lugar del puerto predeterminado 21).
Aquí está el código:
from ftplib import FTP
ftp = FTP(''localhost'') # connect to host, default port
¿Hay una manera fácil de especificar un puerto alternativo?
Después de buscar numerosas soluciones, una combinación de docs.python.org y el comando de connect
resolvieron mi problema.
from ftplib import FTP_TLS
host = ''host''
port = 12345
usr = ''user''
pwd = ''password''
ftps = FTP_TLS()
ftps.connect(host, port)
# Output: ''220 Server ready for new user.''
ftps.login(usr, pwd)
# Output: ''230 User usr logged in.''
ftps.prot_p()
# Output: ''200 PROT command successful.''
ftp.nlst()
# Output: [''mysubdirectory'', ''mydoc'']
Si está utilizando FTP simple en lugar de FTPS, simplemente use ftplib.FTP
en ftplib.FTP
lugar.
Encontré la respuesta. Cree una instancia del objeto FTP y luego ejecute conectar en él de esta manera:
from ftplib import FTP
ftp = FTP()
ftp.connect(''localhost'', 2121)
Sí puedes usar connect
from ftplib import FTP
my_ftp = FTP()
my_ftp.connect(''localhost'', 80) # 80 is the port for example
>>> from ftplib import FTP
>>> HOST = "localhost"
>>> PORT = 12345 # Set your desired port number
>>> ftp = FTP()
>>> ftp.connect(HOST, PORT)