使用Python连接FTP服务器

7
我将尝试使用Python代码连接手机上的FTP服务器,但是出现了错误。
代码如下:
import ftplib
server = ftplib.FTP()
server.connect('192.168.135.101', 5556)
server.login('svgn','123456')
print (server.dir())

错误

C:\Python27\python.exe C:/Users/alisivgin/PycharmProjects/untitled2/deneme2.py 追溯 (最近的调用最先): 文件 "C:/Users/alisivgin/PycharmProjects/untitled2/deneme2.py", 行数 server.connect('192.168.135.101', 5556) 文件 "C:\Python27\lib\ftplib.py", 行数 132, 在 connect self.sock = socket.create_connection((self.host, self.port), self.timeout) 文件 "C:\Python27\lib\socket.py", 行数 571, 在 create_connection raise err socket.error: [Errno 10061] 目标计算机积极拒绝连接

进程以退出码1结束

谢谢。


您能使用任何FTP客户端连接吗?因为错误提示表明,连接不可能(FTP服务器未运行?) - Martin Prikryl
3个回答

11

尝试下面的代码,我之前也遇到过同样的问题。

import ftplib
server = ftplib.FTP()
server.connect('192.168.135.101', 5556)
server.login('svgn','123456')
# You don't have to print this, because this command itself prints dir contents 
server.dir()

7
你也可以尝试以下代码。
from ftplib import FTP


global ftp
ftp = FTP('192.168.135.101', user='svgn', passwd='123456')
print "connected to FTP"

0

看起来您没有与给定的IP地址(192.168.135.101)和端口(5556)建立连接。请尝试使用Telnet到该端口:

telnet 192.168.135.101 5556

从命令提示符(对于Windows用户)或Linux控制台。

如果连接存在问题,您可以与网络管理员/防火墙规则进行检查以进行连接。

如果连接正常,则检查远程服务器(192.168.135.101)中是否有FTP服务器,在RHEL的情况下,您可以检查:

service vsftpd status

如果它具有FTP服务(从上述命令中的vsftpd(pid XXXX)正在运行响应),则检查FTP配置。

否则(从上述命令中的vsftpd:无法识别的服务响应)安装FTP服务器并再次尝试FTP。经过所有这些故障排除,您应该能够通过FTP访问远程服务器。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接