python ftplib.error_perm:500不支持协议

问题描述 投票:0回答:2

有人能指出我正确的方向吗?我使用此功能登录到另一个SFTP站点,但它不能在此站点上运行。我收到以下内容:

Traceback (most recent call last):
  File "C:\Users\USR01\python\py_programs\sftp_test1.py", line 87, in <module>
    main(site1, uid, pwd)
  File "C:\Users\USR01\python\py_programs\sftp_test1.py", line 83, in main
    sftp_login(site1, uid, pwd)
  File "C:\Users\USR01\python\py_programs\sftp_test1.py", line 55, in sftp_login
    ftps.login(uid,pwd)
  File "C:\Users\USR01\python\py_programs\ftplib.py", line 652, in login
    self.auth()
  File "C:\Users\USR01\python\py_programs\ftplib.py", line 660, in auth
    resp = self.voidcmd('AUTH TLS')
  File "C:\Users\USR01\python\py_programs\ftplib.py", line 254, in voidcmd
    return self.voidresp()
  File "C:\Users\USR01\python\py_programs\ftplib.py", line 229, in voidresp
    resp = self.getresp()
  File "C:\Users\USR01\python\py_programs\ftplib.py", line 224, in getresp
    raise error_perm, resp
ftplib.error_perm: 500 Protocol not supported.
[Finished in 0.2s with exit code 1]

这是我的一段代码:

import os, csv, datetime
from ftplib import FTP_TLS

def sftp_login(site1, uid, pwd):
    ftps = FTP_TLS(site1)
    ftps.login(uid,pwd)
    ftps.prot_p()
    ftps.retrlines('LIST')
    ftps.quit()

非常感谢,谢谢

python sftp ftplib
2个回答
2
投票

updated:

重新阅读OP问题后。您正在尝试连接到SFTP,这是一个SSH连接,而您正在使用FTPS

因此,它显示了您不支持此协议的错误。和ftplib不支持sftp

来自pypi pysftp的这个模块可能有所帮助。


0
投票

如果它是活动的ftp,

尝试添加:ftp.set_pasv(False)

在行之后:ftps.login(uid,pwd)

© www.soinside.com 2019 - 2024. All rights reserved.