Chilkat HOME Android™ ASP Visual Basic VB.NET C# iOS (IPhone) Objective-C C++ C Unicode C++ Unicode C MFC Delphi DLL Delphi ActiveX FoxPro Java Perl PHP Extension PHP ActiveX Python PowerShell Ruby SQL Server VBScript
|
Streaming SFTP DownloadDemonstrates how to download a file chunk by chunk from an SSH server.
LOCAL loSftp LOCAL lnSuccess LOCAL lnPort LOCAL lcHostname LOCAL lcHandle LOCAL loPData LOCAL lnBEof LOCAL lnChunkSize * Important: It is helpful to send the contents of the * sftp.LastErrorText property when requesting support. loSftp = CreateObject('Chilkat.SFtp') * Any string automatically begins a fully-functional 30-day trial. lnSuccess = loSftp.UnlockComponent("Anything for 30-day trial") IF (lnSuccess <> 1) THEN =MESSAGEBOX(loSftp.LastErrorText) QUIT ENDIF * Set some timeouts, in milliseconds: loSftp.ConnectTimeoutMs = 5000 loSftp.IdleTimeoutMs = 15000 * Connect to the SSH server. * The standard SSH port = 22 * The hostname may be a hostname or IP address. lcHostname = "www.my-ssh-server.com" lnPort = 22 lnSuccess = loSftp.Connect(lcHostname,lnPort) IF (lnSuccess <> 1) THEN =MESSAGEBOX(loSftp.LastErrorText) QUIT ENDIF * Authenticate with the SSH server. Chilkat SFTP supports * both password-based authenication as well as public-key * authentication. This example uses password authenication. lnSuccess = loSftp.AuthenticatePw("myLogin","myPassword") IF (lnSuccess <> 1) THEN =MESSAGEBOX(loSftp.LastErrorText) QUIT ENDIF * After authenticating, the SFTP subsystem must be initialized: lnSuccess = loSftp.InitializeSftp() IF (lnSuccess <> 1) THEN =MESSAGEBOX(loSftp.LastErrorText) QUIT ENDIF * Open a file on the server: lcHandle = loSftp.OpenFile("hamlet.xml","readOnly","openExisting") IF (lcHandle = NULL ) THEN =MESSAGEBOX(loSftp.LastErrorText) QUIT ENDIF lnBEof = 0 lnChunkSize = 10000 DO WHILE lnBEof = 0 loPData = loSftp.ReadFileBytes(lcHandle,lnChunkSize) IF (loSftp.LastReadFailed(lcHandle) = 1) THEN =MESSAGEBOX(loSftp.LastErrorText) EXIT ELSE * Do whatever you wish with the data received... * It is possible that if the EOF is reached, 0 bytes will be returned. ENDIF lnBEof = loSftp.Eof(lcHandle) ENDDO * Close the file. lnSuccess = loSftp.CloseHandle(lcHandle) IF (lnSuccess <> 1) THEN =MESSAGEBOX(loSftp.LastErrorText) QUIT ENDIF =MESSAGEBOX("Success.") |
© 2000-2013 Chilkat Software, Inc. All Rights Reserved.