Python ftplib-Errno 10061-无法建立连接,因为目标计算机主动拒绝了它

时间:2018-08-09 08:13:37

标签: python ftp ftplib

我想与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以及其他站点上尝试了几种可用的解决方案,但是他们都在讨论检查端口。我做了所有事情,但仍然没有帮助。

谢谢

2 个答案:

答案 0 :(得分:0)

如果您的FTP服务器使用非标准端口(8081),则在使用FTP类时必须指定该端口。

session = ftplib.FTP()
session.connect('10.20.30.40', 8081)
session.login('admin','password@123')

另请参阅Python ftplib - specify port

答案 1 :(得分:0)

我忘记在服务器中启用FTP服务。我点击了此链接,就解决了我的问题

https://medium.com/@JohGeoCoder/allowing-ftp-access-on-windows-server-2016-hosted-on-microsoft-azure-af25898df958

相关问题