我正在尝试连接到FTP服务器以传输文件。这是我的代码;
import ftplib
ftp = ftplib.FTP()
host = host_name
port = 22
ftp.connect(host, port)
ftp.login(username, password)
但这是我得到的错误。有人可以帮帮我吗? 我非常感谢你的帮助。
EOFError Traceback(最近一次调用最后一次)
<ipython-input-2-094fa8cc7c63> in <module>()
3 host = host_name
4 port = 22
----> 5 ftp.connect(host, port)
6 ftp.login(username, password)
C:\Users\Ishwor.Bhatta\Anaconda3\lib\ftplib.py in connect(self, host, port, timeout, source_address)
154 self.af = self.sock.family
155 self.file = self.sock.makefile('r', encoding=self.encoding)
--> 156 self.welcome = self.getresp()
157 return self.welcome
158
C:\Users\Ishwor.Bhatta\Anaconda3\lib\ftplib.py in getresp(self)
233 # Raise various errors if the response indicates an error
234 def getresp(self):
--> 235 resp = self.getmultiline()
236 if self.debugging:
237 print('*resp*', self.sanitize(resp))
C:\Users\Ishwor.Bhatta\Anaconda3\lib\ftplib.py in getmultiline(self)
223 code = line[:3]
224 while 1:
--> 225 nextline = self.getline()
226 line = line + ('\n' + nextline)
227 if nextline[:3] == code and \
C:\Users\Ishwor.Bhatta\Anaconda3\lib\ftplib.py in getline(self)
207 print('*get*', self.sanitize(line))
208 if not line:
--> 209 raise EOFError
210 if line[-2:] == CRLF:
211 line = line[:-2]
EOFError:
答案 0 :(得分:4)
exception EOFError
当input()函数在没有读取任何数据的情况下达到文件结束条件(EOF)时触发。 (N.B。:io.IOBase.read()和io.IOBase.readline()方法在命中EOF时返回一个空字符串。)
这意味着服务器正在向您发送EOF
,告诉您在您希望阅读内容时已终止连接。
查看方法的source code及其上方的评论,它说:
# Raise EOFError if the connection is closed
导致服务器关闭连接的许多原因,其中包括:
防火墙设置,代理,错误端口等等
答案 1 :(得分:1)
我能够通过以下代码解决问题;
using
谢谢大家