通过FTP访问远程服务器时,我遇到以下错误。不知道它的问题是什么,所以我可以解决。任何线索都会有帮助。
代码:
import ftplib
from ftplib import FTP
ftp = ftplib.FTP("server_name")错误:
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发布于 2015-12-20 23:08:51
(我没有足够的名气来给@LonelySoul和其他人留言。)
如果"server_name"包含该协议,则会遇到Name or service not known异常。简单地删除ftp://就为我解决了这个问题。
发布于 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不能为您提供进一步的帮助。
https://stackoverflow.com/questions/18066314
复制相似问题