【发布时间】:2016-12-26 21:35:13
【问题描述】:
我的目标是拥有一个用 Python 编写的基本 FTP 程序。首先,我需要获得更多的知识。我的问题是,如何使用 Python 连接到 Ubuntu 服务器(通过 VirtualBox 托管)?
我曾尝试使用official Python website 上的页面,但使用此页面时出现socket.error: [Errno 61] Connection refused 错误
from ftplib import FTP
ftp = FTP('jordan@10.0.0.12')
This是我使用ftp - FTP('10.0.0.12')时得到的输出
Traceback(最近一次调用最后一次):文件“”,第 1 行,in 文件 "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ftplib.py", 第 120 行,在 init 中 self.connect(主机)文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ftplib.py”, 第 135 行,连接中 self.sock = socket.create_connection((self.host, self.port), self.timeout) 文件 "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", 第 575 行,在 create_connection 中 raise err socket.error: [Errno 61] Connection denied
我可以在同一台机器上使用诸如 Transmit 之类的 FTP 程序(相同的端口和 SFTP),它工作正常。
【问题讨论】:
-
当您尝试以相同方式从命令行 ftp 时会发生什么?
ftp jordan@10.0.0.12 -
从终端使用命令
ftp jordan@10.0.0.12时,我得到同样的错误。 -
好的,所以它从终端失败,但从传输工作对吗? Transmit 中可能有一些默认设置,例如被动或其他设置。
-
是的,它在终端中失败了。 (和 Python)
-
在查看文档时,FTP 接受用户作为单独的参数。不用
'jordan@'试试。如果您能够连接,请将用户名作为单独的参数传递。例如:ftp = FTP('10.0.0.12', 'jordan')
标签: python python-2.7 ftp macos-sierra