python - 无法使用 Python ftplib 连接到服务器,但 PuTTY Plink 可以工作
问题描述
抱歉,如果这听起来太简单,或者我在搜索过程中没有找到重复项:
例如,这些没有帮助:
并且其他教程的示例ftplib
或来自其他教程的示例对我不起作用,并且文档更令人困惑而不是有用。我一定是做错了什么,或者我的网络配置有特殊设置可能会阻止ftplib
正常工作?我的配置。Win10 上的 Python 3.6.3。
我的问题:以下代码有什么问题?
import ftplib
host = '0.0.0.0'
user = 'user'
passwd = 'XXXX'
with ftplib.FTP(host=host, user=user, passwd=passwd) as ftp:
print(ftp.dir())
一段时间后,我收到错误消息:
TimeoutError: [WinError 10060] 连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应
不同的方法使用plink
:
但是,以下使用plink
在命令行中对我来说很好。因此,主机、用户或密码或连接似乎没有任何问题。
plink -ssh -batch user@0.0.0.0 -pw XXXX "cd SubDir/SubSubDir/; ls"
但与其乱用plink
and subprocess
,我认为ftplib
可能更方便。谢谢你的提示。
解决方案
Plink 是一个 SSH 客户端。SSH 与 FTP 无关。您可能想使用 SFTP 连接,这是在 SSH 之上运行的完全不同的协议。
对于 Python 中的 SFTP,请使用 Paramiko 或 pysftp。
推荐阅读
- c# - c# 多线程仅使用 25% 的 CPU
- laravel - Laravel Deloying 文件上传在 000webhost 上不起作用
- reactjs - 我们如何将 redux 存储连接到只有一个对象数组的文件?
- javascript - ReactJs:::Cannot read property 'map' of undefined
- spring-boot - 将对象模拟给 kafka 消费者时出现不必要的存根异常
- sql - 连接包含公共列值的两行
- powershell - 找不到接受参数“permit_connections=no”的位置参数
- python - 每个 GPU 的 Nvenc 会话限制
- java - 计算结果错误
- angular - 通过 REST Api 下载 CSV