无法使用基于Python的库ftplib连接到本地FTP服务器

2024-09-30 13:31:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我的机器上安装了一个本地FTP服务器。它设置在127.0.0.1和端口21上。当我试图使用基于python的库ftplib访问它时,程序抛出了一个错误。这是我正在运行的代码

from ftplib import FTP

ftp = FTP("ftp://127.0.0.1", user = "VAIBHAV", passwd = "12345")
ftp.dir()
ftp.retrlines("LIST")
ftp.quit()

这就是错误所在

Traceback (most recent call last):
  File ".\main.py", line 5, in <module>
    ftp = FTP("ftp://127.0.0.1", user = "VAIBHAV", passwd = "12345")
  File "C:\Users\VAIBHAV\AppData\Local\Programs\Python\Python38\lib\ftplib.py", line 117, in __init__
    self.connect(host)
  File "C:\Users\VAIBHAV\AppData\Local\Programs\Python\Python38\lib\ftplib.py", line 152, in connect
    self.sock = socket.create_connection((self.host, self.port), self.timeout,
  File "C:\Users\VAIBHAV\AppData\Local\Programs\Python\Python38\lib\socket.py", line 787, in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
  File "C:\Users\VAIBHAV\AppData\Local\Programs\Python\Python38\lib\socket.py", line 918, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno 11001] getaddrinfo failed

我应该如何修复此错误

我使用的是python 3.8.7,我的机器上有Windows 10


Tags: inpyselflocallineftpsocketusers
1条回答
网友
1楼 · 发布于 2024-09-30 13:31:03

查看the documentation,我没有在主机名之前看到任何“ftp://”,因此我认为如果您将其更改为

ftp = FTP("127.0.0.1", user="VAIBHAV", passwd="12345")
# or try "localhost" as well
ftp = FTP("localhost", user="VAIBHAV", passwd="12345")

它应该可以工作,或者至少给你一个不同的错误

相关问题 更多 >

    热门问题