Go
Go
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 Go Downloads
success := false
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
ssh := chilkat.NewSsh()
// First connect to an SSH server.
success = ssh.Connect("example.com",22)
if success != true {
fmt.Println(ssh.LastErrorText())
ssh.DisposeSsh()
return
}
// Wait a max of 5 seconds when reading responses..
ssh.SetIdleTimeoutMs(5000)
// Authenticate..
success = ssh.AuthenticatePw("myLogin","myPassword")
if success != true {
fmt.Println(ssh.LastErrorText())
ssh.DisposeSsh()
return
}
// After the SSH object is connected and authenticated, we use it
// as the underlying transport in our SCP object.
scp := chilkat.NewScp()
success = scp.UseSsh(ssh)
if success != true {
fmt.Println(scp.LastErrorText())
ssh.DisposeSsh()
scp.DisposeScp()
return
}
// 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 := chilkat.NewJsonObject()
jsonEnvVars.SetEmitCompact(false)
jsonEnvVars.UpdateString("LCS_PASSWORD","secret")
jsonEnvVars.UpdateString("MY_TEST_NAME","abc")
strEnvVars := jsonEnvVars.Emit()
fmt.Println(*strEnvVars)
// Setting the SendEnv property causes Chilkat to set each environment variable on the SSH server
// prior to doing the upload or download.
scp.SetSendEnv(*strEnvVars)
// Do the upload..
remotePath := "starfish.jpg"
localPath := "qa_data/jpg/starfish.jpg"
success = scp.UploadFile(localPath,remotePath)
if success != true {
fmt.Println(scp.LastErrorText())
ssh.DisposeSsh()
scp.DisposeScp()
jsonEnvVars.DisposeJsonObject()
return
}
fmt.Println("SCP upload file success.")
// Disconnect
ssh.Disconnect()
ssh.DisposeSsh()
scp.DisposeScp()
jsonEnvVars.DisposeJsonObject()