Jump to content

Como fazer upload de um file com ftplib? gaierror: [Errno 11001] getaddrinfo failed


@Andre Filipe

Recommended Posts

@Andre Filipe

Boa tarde,

  Ultimamente tenho tido um problema com a ftplib , para fazer upload de files para o servidor ftp. Dá sempre o mesmo erro!

import ftplib 

import ftplib

FTP_HOST = "ftp://192.168.1.4:4552/"
FTP_USER = "anonymous"
FTP_PASS = "xxxxxxxxxxxxxxx"

ftp = ftplib.FTP(FTP_HOST, FTP_USER, FTP_PASS)
ftp.encoding = "utf-8"

blockfile = open('block.txt','a')
blockfile.close()
with open(filename, "rb") as file:
    ftp.storbinary(blockfile, file)

Como posso resolver?

I never give up!

Link to post
Share on other sites
M6

Como queres que alguém te ajude se nem dizes qual é o erro?

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to post
Share on other sites
@Andre Filipe
1 hora atrás, M6 disse:

Como queres que alguém te ajude se nem dizes qual é o erro?

  Peço desculpa, esqueci-me de dizer qual tinha sido o erro obtido. O erro que surge é o seguinte:

gaierror: [Errno 11001] getaddrinfo failed

Se me pudessem ajudar ficaria grato!

I never give up!

Link to post
Share on other sites
Rui Carlos

ftp://192.168.1.4:4552/ é um URL, e não um host.  O host é só o domínio ou endereço de IP (no teu caso, seria só o 192.168.1.4).  Tendo em conta que estás a usar uma porta não standard, o mais simples talvez seja usares os métodos connect e login para te ligares ao servidor.

Link to post
Share on other sites
@Andre Filipe

Olá boa tarde,

  Desculpa a minha ignorância, como nunca me foi preciso trabalhar muito com a ftplib, podias ajudar-me a criar o script de conexão e de upload?

  Agradecia muito!

I never give up!

Link to post
Share on other sites
Rui Carlos

Algo como isto deve funcionar:

FTP_HOST = "192.168.1.4"
FTP_PORT = 4552
FTP_USER = "anonymous"
FTP_PASS = "xxxxxxxxxxxxxxx"

ftp = ftplib.FTP()
ftp.connect(FTP_HOST, FTP_PORT)
ftp.login(FTP_USER, FTP_PASS)

 

Usar um with ftplib.FTP() as ftp: também não era má ideia.

Link to post
Share on other sites
@Andre Filipe
Posted (edited)

Boa tarde,

  Não pude estar a testar o script porque tive muito ocupado. Mas sim usar umwith ftplib.FTP() as ftp: não era má ideia, mas optei por fazer da forma como apresentaste acima, depois para fazer upload do file fiz da seguinte forma:

FTP_HOST = "192.168.1.3"
    FTP_PORT = 4552
    FTP_USER = "anonymous"
    FTP_PASS = "xxxxxxxxx"

ftp = ftplib.FTP()
    ftp.connect(FTP_HOST, FTP_PORT)
    ftp.login(FTP_USER, FTP_PASS)
    file = open('block.txt','rb')                
    ftp.storbinary('STOR block.txt', file)      

 Agora dá-me sempre este erro: error_temp: 426 Data connection unexpectedly closed.

Edited by @Andre Filipe

I never give up!

Link to post
Share on other sites
M6

Vê a documentação da biblioteca e verifica o log no servidor para veres se tens mais informação sobre o erro.
Verifica também se tens alguma firewall pelo meio que impede a ligação.

 

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.