TbeCbSFTP
Hinweis
-
Remote Pfade und Remote Filename müssen als Verzeichnis-Separator den Schrägstrich und nicht den Backslash nutzen, z.B: user/sub/date/datei.txt Falls eine Anmeldung mit einer Privat-Schlüssel-Datei erfolgen soll, existiert die Methode AuthenticateByFile(), die auch einen eigenen Parameter für ein Kennwort besitzt. Falls jedoch die Passwort-Eigenschaft des Objekts gesetzt ist, wird ein vorheriger Aufruf der Funktion AuthenticateByFile() ignoriert.
Eigenschaften
|
Eigenschaft |
Beschreibung |
|---|---|
|
DirectoryList:O |
|
|
FullLogText:C |
|
|
HostName:C |
|
|
KeepAlive:L |
|
|
LoggingActive:L |
|
|
LogText:O |
|
|
Name:C |
|
|
Password:C |
|
|
PipelineLength:N |
|
|
Port:N |
|
|
ReadBlockSize:N |
|
|
Tag:N |
|
|
Timeout:N |
|
|
User:C |
|
|
UseUnicode:L |
|
|
VerifyServerKey:L |
|
|
Version:N |
|
|
WriteBlockSize:N |
|
Methoden
|
Methode |
Beschreibung |
|---|---|
|
Connect() |
Erstellt Verbindung um Eigenschaften |
|
Disconnect() |
Beendet Verbindung |
|
AuthenticateByFile(aFileName:C, aPassword:C):C |
|
|
OpenDirectory(aPath:C):U |
|
|
CreateDir(aDirName:C) |
|
|
RemoveFile(aFileName:C) |
|
|
RemoveDir(aDirName:C, aRecursive:L) |
|
|
RenameFile(aOldPath:C, aNewPath:C) |
|
|
DownloadFile(aRemoteFile:C, aLocalFile:C, aOverwrite:L) |
|
|
UploadFile(aLocalFile:C, aRemoteFile:C, aOverwrite:L) |
|
Beispiel
|oSFTP, bUseKeyFile, aVerzeichnis, aFile|
oSFTP := CreateObject("TbeCbSFTP"),
oSFTP.HostName := '192.167.10.10',
oSFTP.Port := 22,
oSFTP.User := 'MyName',
if bUseKeyFile then
oSFTP.AuthenticateByFile('Pfad_zu_privat_key\privat_file_name', 'KeyPassword'),
else
oSFTP.Password := 'MyPassword',
endif,
function VerifyKey(oSender,aKeyHash,aValue),
if aKeyHash = '01:23:45:67:89:ab:cd:ef:01:23:34:45:67:89:ab:cd:ef:01:23:34' then
aValue := true,
else
Writeln('Unknwon server key: ' + aKeyHash),
endif,
end,
AssignEvent(oSFTP,"OnValidateServerKey","VerifyKey"),
oSFTP.Connect(),
aVerzeichnis := oSFTP.OpenDirectory(""), // default Verzeichnis lesen
foreach aFile in aVerzeichnis do
if Left(aFile[1],1) = '<' then
Writeln('Directory Name: ' + aFile[1]),
else
Writeln('File Name: ' + aFile[1] + ' Size: ' +Str(aFile[2]) + ' Datum der letzten Änderung: ' + DateTimeToStr(aFile[3])),
endif
end,
oSFTP.Disconnect(),