Python FTPS (FTP_TLS) 连接被拒绝。没有证书?
Python FTPS (FTP_TLS) connection refused. No certificate?
我想通过 ftps
下载文件。
当我尝试使用 wget
下载该文件时,我必须包含 --no-check-certificate
才能正常工作,但我在 ftplib
中找不到并行设置。
from ftplib import FTP_TLS
host = "www-i6.informatik.rwth-aachen.de"
file = "/pub/rwth-phoenix/2016/phoenix-2014-T.v3.tar.gz"
ftp = FTP_TLS(host)
ftp.login()
print("size", ftp.size(file))
ftp.retrbinary("RETR " + file, print)
它确实打印出了大小 (size 41699758035
),但是在尝试检索文件时出现错误:
ConnectionRefusedError: [Errno 111] Connection refused
是不是证书有问题?如果是这样,我怎么能忽略证书?
编辑
使用 debuglevel=2
,这是 ftp 日志:
*cmd* 'AUTH TLS'
*put* 'AUTH TLS\r\n'
*get* '234 AUTH TLS OK.\n'
*resp* '234 AUTH TLS OK.'
*cmd* 'USER anonymous'
*put* 'USER anonymous\r\n'
*get* '230-**************************************************************\n'
*get* '230-*** ***\n'
*get* '230-*** Willkommen auf dem FTP-Server des ***\n'
*get* '230-*** ***\n'
*get* '230-*** Lehrstuhl fuer Informatik VI der ***\n'
*get* '230-*** ***\n'
*get* '230-*** Rheinisch-Westfaelischen Technischen Hochschule Aachen *** \n'
*get* '230-*** ***\n'
*get* '230-**************************************************************\n'
*get* '230-\n'
*get* '230 Anonymous user logged in\n'
*resp* '230-**************************************************************\n230-*** ***\n230-*** Willkommen auf dem FTP-Server des ***\n230-*** ***\n230-*** Lehrstuhl fuer Informatik VI der ***\n230-*** ***\n230-*** Rheinisch-Westfaelischen Technischen Hochschule Aachen *** \n230-*** ***\n230-**************************************************************\n230-\n230 Anonymous user logged in'
*cmd* 'TYPE I'
*put* 'TYPE I\r\n'
*get* '200 TYPE is now 8-bit binary\n'
*resp* '200 TYPE is now 8-bit binary'
*cmd* 'PASV'
*put* 'PASV\r\n'
*get* '227 Entering Passive Mode (137,226,36,140,182,135)\n'
*resp* '227 Entering Passive Mode (137,226,36,140,182,135)'
ConnectionRefusedError: [Errno 111] Connection refused
Firefall 阻止了连接。
没有办法解决,只能在终端服务器上更改防火墙规则。
我想通过 ftps
下载文件。
当我尝试使用 wget
下载该文件时,我必须包含 --no-check-certificate
才能正常工作,但我在 ftplib
中找不到并行设置。
from ftplib import FTP_TLS
host = "www-i6.informatik.rwth-aachen.de"
file = "/pub/rwth-phoenix/2016/phoenix-2014-T.v3.tar.gz"
ftp = FTP_TLS(host)
ftp.login()
print("size", ftp.size(file))
ftp.retrbinary("RETR " + file, print)
它确实打印出了大小 (size 41699758035
),但是在尝试检索文件时出现错误:
ConnectionRefusedError: [Errno 111] Connection refused
是不是证书有问题?如果是这样,我怎么能忽略证书?
编辑
使用 debuglevel=2
,这是 ftp 日志:
*cmd* 'AUTH TLS'
*put* 'AUTH TLS\r\n'
*get* '234 AUTH TLS OK.\n'
*resp* '234 AUTH TLS OK.'
*cmd* 'USER anonymous'
*put* 'USER anonymous\r\n'
*get* '230-**************************************************************\n'
*get* '230-*** ***\n'
*get* '230-*** Willkommen auf dem FTP-Server des ***\n'
*get* '230-*** ***\n'
*get* '230-*** Lehrstuhl fuer Informatik VI der ***\n'
*get* '230-*** ***\n'
*get* '230-*** Rheinisch-Westfaelischen Technischen Hochschule Aachen *** \n'
*get* '230-*** ***\n'
*get* '230-**************************************************************\n'
*get* '230-\n'
*get* '230 Anonymous user logged in\n'
*resp* '230-**************************************************************\n230-*** ***\n230-*** Willkommen auf dem FTP-Server des ***\n230-*** ***\n230-*** Lehrstuhl fuer Informatik VI der ***\n230-*** ***\n230-*** Rheinisch-Westfaelischen Technischen Hochschule Aachen *** \n230-*** ***\n230-**************************************************************\n230-\n230 Anonymous user logged in'
*cmd* 'TYPE I'
*put* 'TYPE I\r\n'
*get* '200 TYPE is now 8-bit binary\n'
*resp* '200 TYPE is now 8-bit binary'
*cmd* 'PASV'
*put* 'PASV\r\n'
*get* '227 Entering Passive Mode (137,226,36,140,182,135)\n'
*resp* '227 Entering Passive Mode (137,226,36,140,182,135)'
ConnectionRefusedError: [Errno 111] Connection refused
Firefall 阻止了连接。 没有办法解决,只能在终端服务器上更改防火墙规则。