我想与Windows服务器建立FTP连接(例如10.20.30.50) 我正在使用Python ftblib 软件包
session = ftplib.FTP('10.20.30.40','admin','password@123')
file = open('download.jpg','rb') # file to send
session.storbinary('STOR download.jpg', file) # send the file
file.close() # close file and FTP
session.quit()
但是我得到了错误
socket.error:[Errno 10061]无法建立连接,因为目标计算机主动拒绝了它
跟踪:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\ftplib.py", line 120, in __init__
self.connect(host)
File "C:\Python27\lib\ftplib.py", line 135, in connect
self.sock = socket.create_connection((self.host, self.port), self.timeout)
File "C:\Python27\lib\socket.py", line 571, in create_connection
raise err
socket.error: [Errno 10061] No connection could be made because the target machine actively refused it.
我尝试了telnet 10.20.30.40 8081
,它成功了。
我允许将8081端口用于ftp。我通过添加新的入站规则来打开端口。
我在Stack Overflow以及其他站点上尝试了几种可用的解决方案,但是他们都在讨论检查端口。我做了所有事情,但仍然没有帮助。
谢谢
答案 0 :(得分:0)
如果您的FTP服务器使用非标准端口(8081),则在使用FTP
类时必须指定该端口。
session = ftplib.FTP()
session.connect('10.20.30.40', 8081)
session.login('admin','password@123')
答案 1 :(得分:0)
我忘记在服务器中启用FTP服务。我点击了此链接,就解决了我的问题