我想用Python的ftplib客户端(而不是默认端口21)指定端口。
以下是代码:
from ftplib import FTP
ftp = FTP('localhost') # connect to host, default port
是否有一种简单的方法来指定替代端口?
答案 0 :(得分:15)
>>> from ftplib import FTP
>>> HOST = "localhost"
>>> PORT = 12345 # Set your desired port number
>>> ftp = FTP()
>>> ftp.connect(HOST, PORT)
答案 1 :(得分:5)
是的,您可以使用connect
from ftplib import FTP
my_ftp = FTP()
my_ftp.connect('localhost', 80) # 80 is the port for example
答案 2 :(得分:2)
找到答案。实例化FTP对象,然后像这样运行connect:
from ftplib import FTP
ftp = FTP()
ftp.connect('localhost', 2121)
答案 3 :(得分:2)
在搜索了大量解决方案之后,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而不是FTPS,请改用ftplib.FTP
。