Bom dia!
Estou tendo que utilizar a classe TFtpClient para fazer o download de um arquivo, consigo conectar normalmente mas ao fazer o recebimento do arquivo através do método ReceiveFile, é retornado o erro "426 Error. Transfer aborted.".
Tentei efetuar alguns testes com a propriedade bFirewallMode e nTransferType mas o retorno sempre é o mesmo. Não é problema no servidor pois ao utilizar outros serviços como o FileZilla ou os próprios command-lines do Windows funciona normalmente.
Alguém teria uma ideia do que pode estar acontecendo?
Segue trecho em AdvPL que retorna o erro:
Static Function fDownload
Local lRet := .F.
Local oFtp := Nil
oFtp := TFtpClient():New()
If(oFtp:FTPConnect('ftp.sefaz.es.gov.br') == 0)
If(oFtp:ChDir('sintegra') == 0)
If(oFtp:ReceiveFile('sintegra.zip', '\EDI\sintegra\sintegra.zip') == 0)
lRet := .T.
EndIf
EndIf
EndIf
oFtp:Close()
FreeObj(oFtp)
Return(lRet)
Command-line que funciona normalmente:
@echo off
echo. >> Sintegra.log
echo. >> Sintegra.log
echo ----------------------------------------------------------- >> Sintegra.log
date /T >> Sintegra.log
time /T >> Sintegra.log
CD "\Totvs\Protheus\Protheus_Data\EDI\sintegra"
curl ftp://ftp.sefaz.es.gov.br/Sintegra/Sintegra.zip -O
winrar.exe e -y sintegra.zip
Grato pela ajuda.