2013-06-20 6 views
13

Я хотел бы указать порт с ftplib-клиентом python (вместо порта 21 по умолчанию).python ftplib указать порт

Вот код:

from ftplib import FTP 
ftp = FTP('localhost') # connect to host, default port 

Есть простой способ указать альтернативный порт?

+2

Если вы поможете (FTP), вы увидите, что метод ftp.connect() принимает необязательные аргументы порта и хоста. – ditkin

ответ

13
>>> from ftplib import FTP 
>>> HOST = "localhost" 
>>> PORT = 12345 # Set your desired port number 
>>> ftp = FTP() 
>>> ftp.connect(HOST, PORT) 
3

Найден ответ. Создание объекта FTP, а затем запустить подключиться на него, как так:

from ftplib import FTP 
ftp = FTP() 
ftp.connect('localhost', 2121) 
5

Да, вы можете использовать connect

from ftplib import FTP 

my_ftp = FTP() 
my_ftp.connect('localhost', 80) # 80 is the port for example 
0

После поиска многочисленных решений, сочетание docs.python.org и команда connect решить мою проблему.

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'] 

Если вы используете FTP вместо SFTP просто использовать ftplib.FTP вместо этого.

Смежные вопросы