Python ftplib: socket.gaierror: [Errno -3] Temporary failure in name resolution

Python ftplib: socket.gaierror: [Errno -3] Temporary failure in name resolution

我需要创建将 .csv 文件上传到 FTP 服务器的简单代码。代码如下。

import ftplib
import os
import sys
sourceFilePath = '/home/user/dir/'
filename = 'testing.csv'
destinationDirectory = 'anotherDirectory'
server = 'ftp://12.123.12.234'
username = 'aUser'
password = 'passwd1234'
myFTP = ftplib.FTP(server, username, password)
myFTP.cwd('/anotherDirectory/')
myFTP.storbinary('STOR '+filename, open(filename,'rb'))
myFTP.quit()

但是,当我 运行 代码时,出现以下错误:

Traceback (most recent call last):
  File "./UploadToFTP.py", line 20, in <module>
  File "./UploadToFTP.py", line 13, in uploadFileFTP
    myFTP = ftplib.FTP(server, username, password)
  File "/usr/lib64/python2.6/ftplib.py", line 119, in __init__
    self.connect(host)
  File "/usr/lib64/python2.6/ftplib.py", line 134, 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 -3] Temporary failure in name resolution

有人以前看过这个吗?这对我来说似乎很笼统,并没有告诉我太多。就我见过的执行相同任务的其他代码而言,目前没有任何可见的错误。任何帮助将不胜感激。

ftplib.FTP 构造函数的 host 参数是一个 hostname/IP 地址,而不是 URL。

所以这是错误的:

server = 'ftp://12.123.12.234'

应该是:

server = '12.123.12.234'

如果您的 URL 包含自定义端口,请参阅 Python ftplib - specify port