首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >执行时出现ftplib错误

执行时出现ftplib错误
EN

Stack Overflow用户
提问于 2013-08-06 03:38:35
回答 2查看 1.9K关注 0票数 2

通过FTP访问远程服务器时,我遇到以下错误。不知道它的问题是什么,所以我可以解决。任何线索都会有帮助。

代码:

代码语言:javascript
复制
import ftplib
from ftplib import FTP
ftp = ftplib.FTP("server_name")

错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python2.6/ftplib.py", line 116, in __init__
    self.connect(host)
  File "/usr/lib64/python2.6/ftplib.py", line 131, in connect
    self.sock = socket.create_connection((self.host, self.port), self.timeout)
  File "/usr/lib64/python2.6/socket.py", line 553, in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
socket.gaierror: [Errno -2] Name or service not known
EN

回答 2

Stack Overflow用户

发布于 2015-12-20 23:08:51

(我没有足够的名气来给@LonelySoul和其他人留言。)

如果"server_name"包含该协议,则会遇到Name or service not known异常。简单地删除ftp://就为我解决了这个问题。

票数 4
EN

Stack Overflow用户

发布于 2013-08-06 04:58:19

该错误告诉您它找不到名为server_name的主机。这就是你需要调试的东西。

如果你在终端/DOS提示符中输入ping server_name,它能工作吗,或者给你一个像cannot resolve server_name这样的错误?如果你在终端中使用ftp server_name会怎样呢?

如果在终端中一切正常,并且您的代码中没有愚蠢的拼写错误,那么下一步就是调试为什么Python会出错。编写一些尝试显式调用getaddrinfo的代码,看看会发生什么。在一个普通的IPv4套接字上尝试socket.connect,看看它是否工作。(如果是这样的话,问题可能与IPv6有关。)诸若此类。

更有可能的是,它在终端上也会失败。在这种情况下,要么是服务器的名称错误,要么是网络或系统设置有问题;无论哪种情况,都不是编程问题,StackOverflow不能为您提供进一步的帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18066314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档