Alguma alternativa?
Meu harbour
Harbour 3.2.0dev (r1502201040)
Copyright (c) 1999-2015, http://harbour-project.org/
Moderador: Moderadores
Harbour 3.2.0dev (r1502201040)
Copyright (c) 1999-2015, http://harbour-project.org/


Via linha de comando é o próprio ftp do Windows, mas pode expor senha.ANDRIL escreveu:Preciso de algo via FTP mesmo, abri um tópico para saber se alguém usa algum client que seja via linha de comando.
Código: Selecionar todos
hb_MemoWrit( "arquivo.ftp" )
run ( "ftp.exe < arquivo.ftp" )
fErase( "arquivo.ftp" )
Código: Selecionar todos
open ftp.nome.com.br
user xxx password xxxx
get arquivo.exe arquivo2.exe
close
quit
Alguma dica?200 PORT command successful
425 Could not open data connection to port 58547: Connection refused

Código: Selecionar todos
oCom := win_OleCreateObject( "xxxx" )
oCom:...


Colega, talvez seja um caminho mais facil apenas linkar a tipssl.lib e, resolver o uso do HTTPS no xHarbour ou Harbour dependendo que você usa ai.ANDRIL escreveu:Meu site passou a ter SSL e agora o TipClientFtp() não funciona. Eu já uso o TipClientFtp() com usuário e senha mas não consigo conectar o servidor.
Alguma alternativa?
Meu harbourHarbour 3.2.0dev (r1502201040)
Copyright (c) 1999-2015, http://harbour-project.org/

winscp é um programa de ftp.Itamar M. Lins Jr. escreveu:SSH é uma coisa Open SSL outra.
Não confunda alho com bugalhos.

Código: Selecionar todos
function PutBackupOnFTPEXE( _file_ )
//
LOCAL CRLF := chr(13)+chr(10)
cSHFTPServerName := "198.22.101.137" // ftp.dominio.com.br
cSHFTPLoginID := "usuarioftp@dominio.com.br"
cSHFTPPassword := "Svper#S3NH@"
cSHServerFolder := "backups"
cSHLocalFolder := CURDIR() + "\NF-e\remessa\nfe"
errhandle := FCreate( "backup.ftp" )
cSTRFile := "open " + cSHFTPServerName + CRLF
cSTRFile := cSTRFile + cSHFTPLoginID + CRLF
cSTRFile := cSTRFile + cSHFTPPassword + CRLF
cSTRFile := cSTRFile + "cd " + cSHServerFolder + CRLF
cSTRFile := cSTRFile + "hash" + CRLF
cSTRFile := cSTRFile + "lcd " + cSHLocalFolder + CRLF
cSTRFile := cSTRFile + "binary" + CRLF
cSTRFile := cSTRFile + "put " + _file_ + CRLF
cSTRFile := cSTRFile + "disconnect" + CRLF
cSTRFile := cSTRFile + "bye" + CRLF
cSTRFile := cSTRFile + "quit" + CRLF
FWrite( errhandle, cSTRFile )
FClose( errhandle )
//
// RUN "ftp -s:backup.ftp"
MsgRun( "Aguarde o backup seguro na internet sendo realizado...", "Cloud-Backup", { || WinEXEC( "ftp -s:backup.ftp", 2 ) } )
//
return nil
Código: Selecionar todos
FUNCTION SFTPPUT( cSrv, cPrt, cUsr, cPsw, cFile )
LOCAL lOk
MEMOWRIT( "psftp.cmd", "put " + cFile, .F. )
lOk = WAITRUN( "psftp " + cSrv + " -P " + cPrt + " -l " + cUsr + " -pw " + cPsw + " -b psftp.cmd", SW_HIDE ) = 0
FERASE( "psftp.cmd" )
RETURN lOk
FUNCTION SFTPGET( cSrv, cPrt, cUsr, cPsw, cFile )
LOCAL lOk
MEMOWRIT( "psftp.cmd", "get " + cFile, .F. )
lOk = WAITRUN( "psftp " + cSrv + " -P " + cPrt + " -l " + cUsr + " -pw " + cPsw + " -b psftp.cmd", SW_HIDE ) = 0
FERASE( "psftp.cmd" )
RETURN lOk

Código: Selecionar todos
import ftplib
import sys
from datetime import datetime
import time
param = sys.argv[1:]
if param == []:
file = 's-gc.exe'
else:
file = param[0]
start = datetime.now()
ftp = ftplib.FTP('ftp.sistemas.com')
ftp.login('usuario', '**password**')
ftp.cwd('/sistemas')
print("Downloading..." + file)
ftp.retrbinary("RETR " + file, open(file, 'wb').write)
ftp.close()
end = datetime.now()
diff = end - start
print('All files downloaded for ' + str(diff.seconds) + 's')
time.sleep(6)