问题描述
我想通过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]连接被拒绝
证书有问题吗?如果是这样,我该如何忽略证书?
编辑
使用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,135)'
ConnectionRefusedError: [Errno 111] Connection refused
解决方法
Firefall阻止了连接。 除了更改最终服务器上的防火墙规则外,没有其他方法可以解决。