Câu hỏi Python ftplib - chỉ định cổng


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).

Đây là mã:

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

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


14
2018-06-20 02:15


gốc


Nếu bạn làm 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


Các câu trả lời:


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

13
2018-06-20 02:19





Có, bạn có thể sử dụng kết nối

from ftplib import FTP

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

5
2018-06-20 02:19





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

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

2
2018-06-20 02:19





Sau khi tìm kiếm nhiều giải pháp, một sự kết hợp của docs.python.org và connect lệnh đã giải quyết được 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 thuần thay vì FTPS, chỉ cần sử dụng ftplib.FTP thay thế.


1
2017-09-15 18:06