【问题标题】:Python ftplib: socket.gaierror: [Errno -3] Temporary failure in name resolutionPython ftplib:socket.gaierror:[Errno -3] 名称解析暂时失败
【发布时间】:2017-10-04 06:16:30
【问题描述】:

我需要创建简单的代码,将 .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

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

【问题讨论】:

  • 您的消息中没有“未确定的错误”
  • 我无法确定。 ;)

标签: python sockets ftp ftplib


【解决方案1】:

ftplib.FTP 构造函数的 host 参数是主机名/IP 地址,而不是 URL。

所以这是错误的:

server = 'ftp://12.123.12.234'

应该是:

server = '12.123.12.234'

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-29
    • 1970-01-01
    • 2013-12-13
    • 2020-07-08
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多