Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) Setting Environment Variables for SCP TransfersDemonstrates how to set remote environment variables for an SCP transfer. Note 1: This example requires Chilkat v9.5.0.79 or greater. Note 2: Setting environment variables for SCP is only supported by some SSH servers.
IncludeFile "CkScp.pb" IncludeFile "CkJsonObject.pb" IncludeFile "CkSsh.pb" Procedure ChilkatExample() ; This example requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. ssh.i = CkSsh::ckCreate() If ssh.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; First connect to an SSH server. success.i = CkSsh::ckConnect(ssh,"example.com",22) If success <> 1 Debug CkSsh::ckLastErrorText(ssh) CkSsh::ckDispose(ssh) ProcedureReturn EndIf ; Wait a max of 5 seconds when reading responses.. CkSsh::setCkIdleTimeoutMs(ssh, 5000) ; Authenticate.. success = CkSsh::ckAuthenticatePw(ssh,"myLogin","myPassword") If success <> 1 Debug CkSsh::ckLastErrorText(ssh) CkSsh::ckDispose(ssh) ProcedureReturn EndIf ; After the SSH object is connected and authenticated, we use it ; as the underlying transport in our SCP object. scp.i = CkScp::ckCreate() If scp.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success = CkScp::ckUseSsh(scp,ssh) If success <> 1 Debug CkScp::ckLastErrorText(scp) CkSsh::ckDispose(ssh) CkScp::ckDispose(scp) ProcedureReturn EndIf ; Specify the environment variables to be set in JSON as follows. ; This example sets two environment variables. One is named "LCS_PASSWORD" and the other "MY_TEST_NAME". jsonEnvVars.i = CkJsonObject::ckCreate() If jsonEnvVars.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::setCkEmitCompact(jsonEnvVars, 0) CkJsonObject::ckUpdateString(jsonEnvVars,"LCS_PASSWORD","secret") CkJsonObject::ckUpdateString(jsonEnvVars,"MY_TEST_NAME","abc") strEnvVars.s = CkJsonObject::ckEmit(jsonEnvVars) Debug strEnvVars ; Setting the SendEnv property causes Chilkat to set each environment variable on the SSH server ; prior to doing the upload or download. CkScp::setCkSendEnv(scp, strEnvVars) ; Do the upload.. remotePath.s = "starfish.jpg" localPath.s = "qa_data/jpg/starfish.jpg" success = CkScp::ckUploadFile(scp,localPath,remotePath) If success <> 1 Debug CkScp::ckLastErrorText(scp) CkSsh::ckDispose(ssh) CkScp::ckDispose(scp) CkJsonObject::ckDispose(jsonEnvVars) ProcedureReturn EndIf Debug "SCP upload file success." ; Disconnect CkSsh::ckDisconnect(ssh) CkSsh::ckDispose(ssh) CkScp::ckDispose(scp) CkJsonObject::ckDispose(jsonEnvVars) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.