gpt4 book ai didi

python - 如何使用 m2crypto 在 FTPS 服务器上上传文件

转载 作者:太空宇宙 更新时间:2023-11-03 13:13:35 29 4
gpt4 key购买 nike

我正在尝试使用 ftps 将文件上传到我们的 FTP 服务器。登录很简单并且有效:

from M2Crypto import ftpslib
ftp = ftpslib.FTP_TLS()
ftp.connect(host)
ftp.login(username, password)

以及下降到目录

for dir in directory:
ftp.cwd(dir)

但是,当尝试检索目录内容时:

if directory_name not in ftp.nlst():
ftp.mkd(directory_name)

我收到 522 错误:

File "/usr/lib/python2.5/ftplib.py", line 459, in nlst
self.retrlines(cmd, files.append)
File "/usr/lib/python2.5/ftplib.py", line 407, in retrlines
conn = self.transfercmd(cmd)
File "/usr/lib/python2.5/ftplib.py", line 356, in transfercmd
return self.ntransfercmd(cmd, rest)[0]
File "/var/lib/python-support/python2.5/M2Crypto/ftpslib.py", line 86, in ntransfercmd
conn, size = FTP.ntransfercmd(self, cmd, rest)
File "/usr/lib/python2.5/ftplib.py", line 327, in ntransfercmd
resp = self.sendcmd(cmd)
File "/usr/lib/python2.5/ftplib.py", line 241, in sendcmd
return self.getresp()
File "/usr/lib/python2.5/ftplib.py", line 216, in getresp
raise error_perm, resp
ftplib.error_perm: 522 Data connections must be encrypted.

TLS 似乎只用于握手,不用于传输。

有没有一种方法可以使用 M2Crypto 来保护传输(我想使用 storbinary() 上传文件)?如果没有,还有哪些其他选择?

最佳答案

解决方案是在 login() 之后显式调用 protected 传输:

ftp.prot_p()

关于python - 如何使用 m2crypto 在 FTPS 服务器上上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3907826/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com