2013-06-20 10 views
13

Tôi muốn chỉ định cổng với máy khách ftplib của python (thay vì cổng mặc định 21).python ftplib chỉ định cổng

Đây là mã:

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

Có một cách dễ dàng để xác định một cổng thay thế?

+2

Nếu bạn trợ giúp (FTP), bạn sẽ thấy rằng phương thức ftp.connect() nhận các tham số cổng và máy chủ tùy chọn. – ditkin

Trả lời

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

Tìm câu trả lời. Nhanh chóng các đối tượng FTP và sau đó chạy kết nối vào nó như vậy:

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

Có bạn có thể sử dụng connect

from ftplib import FTP 

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

Sau khi tìm kiếm nhiều giải pháp, một sự kết hợp của docs.python.orgconnect lệnh giải quyết vấn đề của tôi.

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

Nếu bạn đang sử dụng FTP thay vì chỉ sử dụng SFTP ftplib.FTP để thay thế.