Lianja
Lianja
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 Lianja Downloads
llSuccess = .F.
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
loSsh = createobject("CkSsh")
// First connect to an SSH server.
llSuccess = loSsh.Connect("example.com",22)
if (llSuccess <> .T.) then
? loSsh.LastErrorText
release loSsh
return
endif
// Wait a max of 5 seconds when reading responses..
loSsh.IdleTimeoutMs = 5000
// Authenticate..
llSuccess = loSsh.AuthenticatePw("myLogin","myPassword")
if (llSuccess <> .T.) then
? loSsh.LastErrorText
release loSsh
return
endif
// After the SSH object is connected and authenticated, we use it
// as the underlying transport in our SCP object.
loScp = createobject("CkScp")
llSuccess = loScp.UseSsh(loSsh)
if (llSuccess <> .T.) then
? loScp.LastErrorText
release loSsh
release loScp
return
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".
loJsonEnvVars = createobject("CkJsonObject")
loJsonEnvVars.EmitCompact = .F.
loJsonEnvVars.UpdateString("LCS_PASSWORD","secret")
loJsonEnvVars.UpdateString("MY_TEST_NAME","abc")
lcStrEnvVars = loJsonEnvVars.Emit()
? lcStrEnvVars
// Setting the SendEnv property causes Chilkat to set each environment variable on the SSH server
// prior to doing the upload or download.
loScp.SendEnv = lcStrEnvVars
// Do the upload..
lcRemotePath = "starfish.jpg"
lcLocalPath = "qa_data/jpg/starfish.jpg"
llSuccess = loScp.UploadFile(lcLocalPath,lcRemotePath)
if (llSuccess <> .T.) then
? loScp.LastErrorText
release loSsh
release loScp
release loJsonEnvVars
return
endif
? "SCP upload file success."
// Disconnect
loSsh.Disconnect()
release loSsh
release loScp
release loJsonEnvVars