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
(C) SCP Download/Upload Binary Files as Encoded StringsDemonstrates how to upload and download binary files as encoded strings (base64, hex, etc.) using the SCP protocol (Secure Copy Protocol over SSH).
#include <C_CkSsh.h> #include <C_CkScp.h> void ChilkatSample(void) { HCkSsh ssh; const char *hostname; int port; BOOL success; HCkScp scp; const char *remotePath; const char *encodedJpg; // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. ssh = CkSsh_Create(); // Hostname may be an IP address or hostname: hostname = "www.some-ssh-server.com"; port = 22; // Connect to an SSH server: success = CkSsh_Connect(ssh,hostname,port); if (success != TRUE) { printf("%s\n",CkSsh_lastErrorText(ssh)); CkSsh_Dispose(ssh); return; } // Wait a max of 5 seconds when reading responses.. CkSsh_putIdleTimeoutMs(ssh,5000); // Authenticate using login/password: success = CkSsh_AuthenticatePw(ssh,"myLogin","myPassword"); if (success != TRUE) { printf("%s\n",CkSsh_lastErrorText(ssh)); CkSsh_Dispose(ssh); return; } // Once the SSH object is connected and authenticated, we use it // in our SCP object. scp = CkScp_Create(); success = CkScp_UseSsh(scp,ssh); if (success != TRUE) { printf("%s\n",CkScp_lastErrorText(scp)); CkSsh_Dispose(ssh); CkScp_Dispose(scp); return; } remotePath = "images/starfish.jpg"; // Download the binary file and return as a base64 string. // See <a href="http://www.cknotes.com/chilkat-binary-encoding-list/">List of Encodings</a> for a list of possible encodings. encodedJpg = CkScp_downloadBinaryEncoded(scp,remotePath,"base64"); if (CkScp_getLastMethodSuccess(scp) != TRUE) { printf("%s\n",CkScp_lastErrorText(scp)); CkSsh_Dispose(ssh); CkScp_Dispose(scp); return; } remotePath = "images/starfish2.jpg"; // Now upload from the base64 string to the SSH server. // Insided the call to UploadBinaryEncoded, the base64 string is decoded, // and the decoded bytes are uploaded. The resulting starfish2.jpg on the // server will be identical to the original starfish.jpg success = CkScp_UploadBinaryEncoded(scp,remotePath,encodedJpg,"base64"); if (success != TRUE) { printf("%s\n",CkScp_lastErrorText(scp)); CkSsh_Dispose(ssh); CkScp_Dispose(scp); return; } printf("SCP download/upload binary encoded success.\n"); // Disconnect CkSsh_Disconnect(ssh); CkSsh_Dispose(ssh); CkScp_Dispose(scp); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.