Python 尝试将Pyftpsync连接到端口22上的远程服务器时出错

Python 尝试将Pyftpsync连接到端口22上的远程服务器时出错,python,ftp,pyftpsync,Python,Ftp,Pyftpsync,我正在尝试通过FTP同步两个文件夹,是的,我知道有更好或不同的方法,但现在我需要以这种方式实现它,我正在尝试pyftpsync中的示例代码,因为示例代码应该很容易工作,对吗?我只是尝试在我创建的一些测试文件夹之间进行连接,其中一个是空的(本地),而远程有一个我想要获取的文本文件。它试图连接,但大约2分钟后,我得到这个错误 嗯,我的FTP确实在python之外工作。我可以通过winSCP进行连接 有些地方提到代理可能会导致这种情况,但似乎我目前并不支持代理,但可能我没有正确设置代理,它认为应该有代

我正在尝试通过FTP同步两个文件夹,是的,我知道有更好或不同的方法,但现在我需要以这种方式实现它,我正在尝试pyftpsync中的示例代码,因为示例代码应该很容易工作,对吗?我只是尝试在我创建的一些测试文件夹之间进行连接,其中一个是空的(本地),而远程有一个我想要获取的文本文件。它试图连接,但大约2分钟后,我得到这个错误

嗯,我的FTP确实在python之外工作。我可以通过winSCP进行连接

有些地方提到代理可能会导致这种情况,但似乎我目前并不支持代理,但可能我没有正确设置代理,它认为应该有代理吗

无论如何,任何可能的故障排除方法都会有所帮助。多谢各位

这是我的代码,只需在pyftpsync提示符下使用命令,就会产生相同的错误。因此,可能是某些输入参数关闭导致了所有这些

导入时间
导入操作系统
进口稀土
进口舒蒂尔
导入字符串
导入系统
从ftpsync.targets导入FsTarget
从ftpsync.ftp\u目标导入FtpTarget
从ftpsync.synchronizers导入下载同步器
#将本地文件夹与ftp同步
local=FsTarget(“C:\\testfolder\\”)
user=“登录”
passwd=“password”
remote=FtpTarget(“/my/folder/location/testfold/”,“126.0.0.1”,端口=22,用户名=user,密码=passwd,tls=False,超时=None,额外选项=None)
opts={}
s=下载同步器(本地、远程、opts)
s、 运行()
这是我得到的输出,我已经编辑掉了文件夹名和IP地址

INFO:keyring.backend:Loading KWallet
INFO:keyring.backend:Loading SecretService
INFO:keyring.backend:Loading Windows
INFO:keyring.backend:Loading chainer
INFO:keyring.backend:Loading macOS
INFO:pyftpsync:Download to C:\testfolder
                from ftp://126.0.0.1/.../testfold
INFO:pyftpsync:Encoding local: utf-8, remote: utf-8
Traceback (most recent call last):
  File "c:\..\.py", line 30, in <module>
    s.run()
  File "C:\\AppData\Local\Programs\Python\Python37-32\lib\site- 
packages\ftpsync\synchronizers.py", line 1268, in run
  res = super(DownloadSynchronizer, self).run()
  File "C:\\AppData\Local\Programs\Python\Python37- 
  32\lib\site-packages\ftpsync\synchronizers.py", line 827, in run
  res = super(BiDirSynchronizer, self).run()
  File "C:\\AppData\Local\Programs\Python\Python37- 
  32\lib\site-packages\ftpsync\synchronizers.py", line 211, in run
  self.remote.open()
  File "C:\\AppData\Local\Programs\Python\Python37- 
  32\lib\site-packages\ftpsync\ftp_target.py", line 141, in open
  self.ftp.connect(self.host, self.port)
  File "C:\\AppData\Local\Programs\Python\Python37- 
  32\lib\ftplib.py", line 155, in connect
  self.welcome = self.getresp()
  File "C:\\Local\Programs\Python\Python37- 
  32\lib\ftplib.py", line 236, in getresp
  resp = self.getmultiline()
  File "C:\\AppData\Local\Programs\Python\Python37- 
  32\lib\ftplib.py", line 226, in getmultiline
  nextline = self.getline()
  File "C:\\AppData\Local\Programs\Python\Python37- 
  32\lib\ftplib.py", line 210, in getline
  raise EOFError
  EOFError
INFO:keyring.后端:加载KWallet
信息:keyring.backend:正在加载SecretService
信息:密钥环。后端:加载窗口
信息:keyring.后端:加载链接器
信息:keyring.后端:加载macOS
信息:pyftpsync:下载到C:\testfolder
从…起ftp://126.0.0.1/.../testfold
信息:pyftpsync:编码本地:utf-8,远程:utf-8
回溯(最近一次呼叫最后一次):
文件“c:\..\.py”,第30行,在
s、 运行()
文件“C:\\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\ftpsync\synchronizers.py”,第1268行,运行中
res=super(下载同步器,self).run()
文件“C:\\AppData\Local\Programs\Python\Python37-
32\lib\site packages\ftpsync\synchronizers.py”,第827行,正在运行
res=super(BiDirSynchronizer,self).run()
文件“C:\\AppData\Local\Programs\Python\Python37-
32\lib\site packages\ftpsync\synchronizers.py”,第211行,运行中
self.remote.open()
文件“C:\\AppData\Local\Programs\Python\Python37-
32\lib\site packages\ftpsync\ftp_target.py”,第141行,打开
self.ftp.connect(self.host、self.port)
文件“C:\\AppData\Local\Programs\Python\Python37-
32\lib\ftplib.py”,连接中的第155行
self.welcome=self.getresp()
文件“C:\\Local\Programs\Python\Python37-
32\lib\ftplib.py”,第236行,在getresp中
resp=self.getmultiline()
文件“C:\\AppData\Local\Programs\Python\Python37-
32\lib\ftplib.py”,第226行,在getmultiline中
nextline=self.getline()
文件“C:\\AppData\Local\Programs\Python\Python37-
32\lib\ftplib.py”,第210行,在getline中
提高采收率
伊奥费罗

Pyftpsync使用FTP协议

您正在连接到用于SSH/SFTP的端口22


因此,如果您的服务器实际上是SFTP服务器,而不是FTP服务器,则无法使用Pyftpsync。

似乎就是这样,我在paramiko中尝试了一些命令,但似乎效果不错,谢谢。