Python中FTP_TLS的保护传输问题

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

我想检查我的 FTP 服务器中是否存在文件。我有这个功能:

from ftplib import FTP_TLS
from configparser import ConfigParser

def check_ftp_file_exists(filename):

    config = ConfigParser()
    config.read("config.ini")
    user = config["ftp"]["user"]
    passwd = config["ftp"]["password"]
    ftp = config["ftp"]["host"]

    with FTP_TLS(ftp, user, passwd) as ftp:
        file_list = ftp.nlst()
        if filename in file_list:
            return True
        else:
            return False

此函数返回错误:

ftplib.error_perm: 522 Data connections must be encrypted.
。在这里(How to upload a file on FTPS server using m2crypto)我发现我应该使用
ftp.prot_p()
。但是这个功能:

from ftplib import FTP_TLS
from configparser import ConfigParser

def check_ftp_file_exists(filename):

    config = ConfigParser()
    config.read("config.ini")
    user = config["ftp"]["user"]
    passwd = config["ftp"]["password"]
    ftp = config["ftp"]["host"]

    with FTP_TLS(ftp, user, passwd) as ftp:
        ftp.prot_p()
        file_list = ftp.nlst()
        if filename in file_list:
            return True
        else:
            return False

返回另一个错误

ftplib.error_perm: 522 SSL connection failed: session reuse required
。请问我该如何解决?

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