PureBasic
PureBasic
Disconnect from an SFTP Server
See more SFTP Examples
Demonstrates the Chilkat SFtp.Disconnect method, which closes the current SSH/SFTP connection. It takes no arguments. All remote file and directory handles from the session become invalid and must not be reused.
Background: Disconnecting releases the SSH transport and every SFTP handle opened on it. The object itself stays reusable, but a later session must repeat the full setup —
Connect, authenticate, then InitializeSftp — because the SFTP subsystem does not survive a disconnect.Chilkat PureBasic Downloads
IncludeFile "CkSFtp.pb"
Procedure ChilkatExample()
success.i = 0
; Demonstrates the SFtp.Disconnect method, which closes the current SSH/SFTP connection. It
; takes no arguments. All remote file and directory handles from the session become invalid.
sftp.i = CkSFtp::ckCreate()
If sftp.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; Step 1: Connect the SSH transport. Port 22 is the usual port.
port.i = 22
success = CkSFtp::ckConnect(sftp,"sftp.example.com",port)
If success = 0
Debug CkSFtp::ckLastErrorText(sftp)
CkSFtp::ckDispose(sftp)
ProcedureReturn
EndIf
; Normally you would not hard-code the password in source. You should instead obtain it
; from an interactive prompt, environment variable, or a secrets vault.
password.s = "mySshPassword"
success = CkSFtp::ckAuthenticatePw(sftp,"mySshLogin",password)
If success = 0
Debug CkSFtp::ckLastErrorText(sftp)
CkSFtp::ckDispose(sftp)
ProcedureReturn
EndIf
; Step 3: Open the SFTP subsystem. This must be done after authentication and before any
; file or directory operations.
success = CkSFtp::ckInitializeSftp(sftp)
If success = 0
Debug CkSFtp::ckLastErrorText(sftp)
CkSFtp::ckDispose(sftp)
ProcedureReturn
EndIf
; ... perform SFTP operations ...
; Close the connection. The object remains reusable: a later session must Connect,
; authenticate, and InitializeSftp again.
CkSFtp::ckDisconnect(sftp)
CkSFtp::ckDispose(sftp)
ProcedureReturn
EndProcedure