【问题标题】:How do i retrieve files from ftp over HTTPs with python3如何使用 python3 通过 HTTPs 从 ftp 检索文件
【发布时间】:2019-04-12 20:18:58
【问题描述】:

我正在尝试使用 python 通过 https 连接检索文件,但我似乎找不到任何适用于我的案例的答案

我尝试使用 ftplib 和 FTP_TLS,但我收到错误说我的连接被拒绝。我使用提供的凭据登录,并能够导航到实际文件夹。

>>> ftp = FTP_TLS('HOSTNAME')
>>> ftp.login('USERNAME', 'PASSWORD')
'230 User logged in, proceed.'
>>> ftp.prot_p()
'200 Command PROT okay.'
>>> ftp.cwd('outbox')
'250 Directory changed to /outbox'
>>> ftp.nlst()
Traceback ():
  output
ConnectionRefusedError: [Errno 61] Connection refused

不确定为什么我在其他一切都成功但我无法访问文件时得到这个

【问题讨论】:

  • 我对这个建议没有信心,所以我不会将它作为答案发布,但请尝试以下ftp = FTP_TLS(host='my-host', user='username', passwd='my-passwd')。我一直很幸运使用它,而不是连接到主机并随后调用login 方法。如果可行,请告诉我,我会将其作为答案发布并删除此评论。
  • 我也倾向于使用retrbinary方法:ftp.retrbinary(filename, open_file_object.write)进行实际下载。
  • @That1Guy 不幸的是这没有用:(
  • 好的,但是怎么做?它给出相同的错误还是不同的错误?
  • @That1Guy,是的,同样的错误

标签: python https ftp


【解决方案1】:

我认为您的 FTP 服务器配置为返回 Python 脚本无法访问的 IP 地址。一旦服务器回复到您的 Python 脚本,Python 库就会尝试将数据发送到它没有路由到的主机(或者它甚至不存在)。

一些 GUI 程序试图通过忽略服务器的 IP 回复并使用用户在登录期间输入的主机名来缓解这种情况,但库不会这样做。

检查这个:https://stumbles.id.au/python-ftps-and-mis-configured-servers.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-07
    相关资源
    最近更新 更多