Python FTPSFTP_TLS连接被拒绝没有证书? 编辑

问题描述

我想通过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阻止了连接。 除了更改最终服务器上的防火墙规则外,没有其他方法可以解决。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...