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
(Unicode C) SOCKS4 and SOCKS5 Proxy for FTPDemonstrates how to connect to an FTP server through a SOCKS4 or SOCKS5 proxy. Both SSL/TLS and non-secure FTP communications may use SOCKS4 and SOCKS5 proxies.
#include <C_CkFtp2W.h> void ChilkatSample(void) { HCkFtp2W ftp; BOOL success; const wchar_t *localFilename; const wchar_t *remoteFilename; // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. ftp = CkFtp2W_Create(); CkFtp2W_putHostname(ftp,L"ftp.example.com"); CkFtp2W_putUsername(ftp,L"login"); CkFtp2W_putPassword(ftp,L"password"); // To use a SOCKS4 or SOCKS5 proxy, simply set the following // properties prior to connecting: // The SOCKS hostname may be a domain name or // IP address: CkFtp2W_putSocksHostname(ftp,L"www.mysocksproxyserver.com"); CkFtp2W_putSocksPort(ftp,1080); CkFtp2W_putSocksUsername(ftp,L"myProxyLogin"); CkFtp2W_putSocksPassword(ftp,L"myProxyPassword"); // Set the SOCKS version to 4 or 5 based on the version // of the SOCKS proxy server: CkFtp2W_putSocksVersion(ftp,5); // Note: SOCKS4 servers only support usernames without passwords. // SOCKS5 servers support full login/password authentication. // Connect and login to the FTP server. success = CkFtp2W_Connect(ftp); if (success != TRUE) { wprintf(L"%s\n",CkFtp2W_lastErrorText(ftp)); CkFtp2W_Dispose(ftp); return; } // Change to the remote directory where the file is located. // This step is only necessary if the file is not in the root directory // for the FTP account. success = CkFtp2W_ChangeRemoteDir(ftp,L"junk"); if (success != TRUE) { wprintf(L"%s\n",CkFtp2W_lastErrorText(ftp)); CkFtp2W_Dispose(ftp); return; } // Download a file. localFilename = L"c:/temp/hamlet.xml"; remoteFilename = L"hamlet.xml"; success = CkFtp2W_GetFile(ftp,remoteFilename,localFilename); if (success != TRUE) { wprintf(L"%s\n",CkFtp2W_lastErrorText(ftp)); CkFtp2W_Dispose(ftp); return; } success = CkFtp2W_Disconnect(ftp); wprintf(L"File Downloaded!\n"); CkFtp2W_Dispose(ftp); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.