首页 > 解决方案 > 当密码包含时,FTP_TLS 530 使用 Python3 登录不正确 §

问题描述

我想使用以下方式连接到我的 FTPS 服务器python3

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-

from ftplib import FTP_TLS

host='my.url'
user='myuser'
passwd='password_containing_§'

ftp=FTP_TLS(url)
ftp.set_debuglevel(2)
ftp.login(user,passwd)

§但是,只要密码中有 a ,就会出现错误。

*cmd* 'PASS ****************************************************************************************************'
*put* 'PASS ****************************************************************************************************\r\n'
*get* '530 Login incorrect.\n'
*resp* '530 Login incorrect.'

用 Python 3.5.2 和 3.7.6 测试,同样的问题。

完全相同的代码和数据适用于 Python2.7(我只是将 shebang 更改为python2)。同样的登录数据也适用于 Filezilla。

有人可以帮忙吗?


我阅读了关于单独发送命令的类似问题,但ftp.sendcmd(...)返回:

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

标签: pythonpython-3.xsslftp

解决方案


这是解决方案:

passwd = passwd.encode('utf-8').decode('unicode-escape')

通过


推荐阅读