FTPLIB 错误 socket.gaierror: [Errno 8] nodename nor servname p

FTPLIB error socket.gaierror: [Errno 8] nodename nor servname provided, or not known(FTPLIB 错误 socket.gaierror: [Errno 8] nodename nor servname provided, or not known)
本文介绍了FTPLIB 错误 socket.gaierror: [Errno 8] nodename nor servname provided, or not known的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我正在尝试使用 FTPlib 从 FTP 服务器下载文件,但我不断收到以下错误消息.我尝试了在 SO 上找到的几种方法,即编辑 etc/host 文件并在本地主机 IP 后添加计算机名称,但这也不起作用.

I'm trying to download a file from an FTP server using FTPlib but i keep getting the error below. I tried several methods found on SO namely editing the etc/host file and adding the computer name after the local host IP but that doesnt work either.

非常感谢任何帮助.(运行mac,python 3.7,macOS Mojave 10.14.2)

Any help is much appreciated. (running a mac, python 3.7, macOS Mojave 10.14.2)

我正在尝试运行的代码:

from ftplib import FTP

ftp = FTP('myftpurl')

错误:

Traceback (most recent call last):

文件",第 1 行,在init 中的文件/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ftplib.py",第 117 行self.connect(主机)文件/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ftplib.py",第 152 行,在连接中source_address=self.source_address)文件/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/socket.py",第 707 行,在 create_connection对于 getaddrinfo(host, port, 0, SOCK_STREAM) 中的 res:文件/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/socket.py",第 748 行,在 getaddrinfo对于 _socket.getaddrinfo 中的 res(主机、端口、家庭、类型、原型、标志):socket.gaierror: [Errno 8] nodename or servname provided, or not known

File "", line 1, in File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ftplib.py", line 117, in init self.connect(host) File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ftplib.py", line 152, in connect source_address=self.source_address) File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/socket.py", line 707, in create_connection for res in getaddrinfo(host, port, 0, SOCK_STREAM): File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/socket.py", line 748, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): socket.gaierror: [Errno 8] nodename nor servname provided, or not known

推荐答案

ftp = FTP('myftpurl')

不清楚 myftpurl 在您的特定代码中实际包含什么.
但鉴于它的名称,我假设您已经尝试过类似 ftp://example.com 的方法.仅作为 明确记录 FTP(...) 不需要 URL,而是主机名或 IP,即 FTP('example.com') 而不是 FTP('ftp://example.com').

It is not clear what myftpurl actually contains in your specific code.
But given its name I assume that you've tried something like ftp://example.com. Only, as clearly documented FTP(...) does not expect a URL but instead a hostname or IP, i.e. FTP('example.com') and not FTP('ftp://example.com').

给定一个 URL,就像你可能做的那样,将导致将该 URL 视为主机名,即查找主机名 ftp://example.com.由于这样的主机不存在,您会收到错误消息.

Given a URL like you probably do will result in treating that URL as hostname, i.e. doing a lookup for the hostname ftp://example.com. Since such a host does not exist you get an error.

这篇关于FTPLIB 错误 socket.gaierror: [Errno 8] nodename nor servname provided, or not known的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

patching a class yields quot;AttributeError: Mock object has no attributequot; when accessing instance attributes(修补类会产生“AttributeError:Mock object has no attribute;访问实例属性时)
How to mock lt;ModelClassgt;.query.filter_by() in Flask-SqlAlchemy(如何在 Flask-SqlAlchemy 中模拟 lt;ModelClassgt;.query.filter_by())
FTPLIB error socket.gaierror: [Errno 8] nodename nor servname provided, or not known(FTPLIB 错误 socket.gaierror: [Errno 8] nodename nor servname provided, or not known)
Weird numpy.sum behavior when adding zeros(添加零时奇怪的 numpy.sum 行为)
Why does the #39;int#39; object is not callable error occur when using the sum() function?(为什么在使用 sum() 函数时会出现 int object is not callable 错误?)
How to sum in pandas by unique index in several columns?(如何通过几列中的唯一索引对 pandas 求和?)