DataFlex
DataFlex
Setting Environment Variables for SCP Transfers
See more SCP Examples
Demonstrates 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.
Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Variant vSsh
Handle hoSsh
Handle hoScp
Handle hoJsonEnvVars
String sStrEnvVars
String sRemotePath
String sLocalPath
String sTemp1
Move False To iSuccess
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Get Create (RefClass(cComChilkatSsh)) To hoSsh
If (Not(IsComObjectCreated(hoSsh))) Begin
Send CreateComObject of hoSsh
End
// First connect to an SSH server.
Get ComConnect Of hoSsh "example.com" 22 To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoSsh To sTemp1
Showln sTemp1
Procedure_Return
End
// Wait a max of 5 seconds when reading responses..
Set ComIdleTimeoutMs Of hoSsh To 5000
// Authenticate..
Get ComAuthenticatePw Of hoSsh "myLogin" "myPassword" To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoSsh To sTemp1
Showln sTemp1
Procedure_Return
End
// After the SSH object is connected and authenticated, we use it
// as the underlying transport in our SCP object.
Get Create (RefClass(cComChilkatScp)) To hoScp
If (Not(IsComObjectCreated(hoScp))) Begin
Send CreateComObject of hoScp
End
Get pvComObject of hoSsh to vSsh
Get ComUseSsh Of hoScp vSsh To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoScp To sTemp1
Showln sTemp1
Procedure_Return
End
// 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".
Get Create (RefClass(cComChilkatJsonObject)) To hoJsonEnvVars
If (Not(IsComObjectCreated(hoJsonEnvVars))) Begin
Send CreateComObject of hoJsonEnvVars
End
Set ComEmitCompact Of hoJsonEnvVars To False
Get ComUpdateString Of hoJsonEnvVars "LCS_PASSWORD" "secret" To iSuccess
Get ComUpdateString Of hoJsonEnvVars "MY_TEST_NAME" "abc" To iSuccess
Get ComEmit Of hoJsonEnvVars To sStrEnvVars
Showln sStrEnvVars
// Setting the SendEnv property causes Chilkat to set each environment variable on the SSH server
// prior to doing the upload or download.
Set ComSendEnv Of hoScp To sStrEnvVars
// Do the upload..
Move "starfish.jpg" To sRemotePath
Move "qa_data/jpg/starfish.jpg" To sLocalPath
Get ComUploadFile Of hoScp sLocalPath sRemotePath To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoScp To sTemp1
Showln sTemp1
Procedure_Return
End
Showln "SCP upload file success."
// Disconnect
Send ComDisconnect To hoSsh
End_Procedure