Java
Chilkat2 Java
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 Java Downloads
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.JsonObject;
import com.chilkatsoft.chilkat2.Scp;
import com.chilkatsoft.chilkat2.Ssh;
public class ChilkatExample {
public static void main(String[] args) {
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Ssh ssh = new Ssh();
// First connect to an SSH server.
try {
ssh.connect("example.com", 22);
// Wait a max of 5 seconds when reading responses..
ssh.setIdleTimeoutMs(5000);
// Authenticate..
ssh.authenticatePw("myLogin", "myPassword");
} catch (ChilkatException e) {
System.out.println(e.getLastErrorText());
return;
}
// After the SSH object is connected and authenticated, we use it
// as the underlying transport in our SCP object.
Scp scp = new Scp();
try {
scp.useSsh(ssh);
} catch (ChilkatException e) {
System.out.println(e.getLastErrorText());
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".
JsonObject jsonEnvVars = new JsonObject();
jsonEnvVars.setEmitCompact(false);
jsonEnvVars.updateString("LCS_PASSWORD", "secret");
jsonEnvVars.updateString("MY_TEST_NAME", "abc");
String strEnvVars = jsonEnvVars.emit();
System.out.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..
String remotePath = "starfish.jpg";
String localPath = "qa_data/jpg/starfish.jpg";
try {
scp.uploadFile(localPath, remotePath);
} catch (ChilkatException e) {
System.out.println(e.getLastErrorText());
return;
}
System.out.println("SCP upload file success.");
// Disconnect
ssh.disconnect();
}
}