使用 ftplib 将文件发送到 ftp 服务器

Sending a file to a ftp server using ftplib

我正在尝试使用 ftplib library.

将文件发送到 ftp 服务器

我已经结合了两种不同的方法。

第 1)

from ftplib import FTP
ftp = FTP('HOST')
ftp.login('USERNAME','PASSWORD') 

在这种情况下,当我尝试登录时出现以下错误:

ftplib.error_perm: 550 SSL/TLS required on the control channel.

第二)

from ftplib import FTP_TLS
ftp = FTP_TLS('HOST')
ftp.login('USERNAME','PASSWORD') 
file = open('test.xml','rb')                  # file to send
session.storbinary('STOR test.xml', file) 

在这种情况下,我可以确认我能够连接并登录到服务器,但是当尝试使用 storbinary 发送文件时,我得到了同样的错误:

ftplib.error_perm: 550 SSL/TLS required on the control channel.

有什么建议吗?

我能够通过添加解决问题:

ftp.prot_p()          # switch to secure data connection

之后

ftp.login('USERNAME','PASSWORD') 

这样我就可以在 ftp 服务器上执行所有类型的操作