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
(PureBasic) 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.
IncludeFile "CkFtp2.pb" Procedure ChilkatExample() ; This example requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. ftp.i = CkFtp2::ckCreate() If ftp.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkFtp2::setCkHostname(ftp, "ftp.example.com") CkFtp2::setCkUsername(ftp, "login") CkFtp2::setCkPassword(ftp, "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: CkFtp2::setCkSocksHostname(ftp, "www.mysocksproxyserver.com") CkFtp2::setCkSocksPort(ftp, 1080) CkFtp2::setCkSocksUsername(ftp, "myProxyLogin") CkFtp2::setCkSocksPassword(ftp, "myProxyPassword") ; Set the SOCKS version to 4 or 5 based on the version ; of the SOCKS proxy server: CkFtp2::setCkSocksVersion(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.i = CkFtp2::ckConnect(ftp) If success <> 1 Debug CkFtp2::ckLastErrorText(ftp) CkFtp2::ckDispose(ftp) ProcedureReturn EndIf ; 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 = CkFtp2::ckChangeRemoteDir(ftp,"junk") If success <> 1 Debug CkFtp2::ckLastErrorText(ftp) CkFtp2::ckDispose(ftp) ProcedureReturn EndIf ; Download a file. localFilename.s = "c:/temp/hamlet.xml" remoteFilename.s = "hamlet.xml" success = CkFtp2::ckGetFile(ftp,remoteFilename,localFilename) If success <> 1 Debug CkFtp2::ckLastErrorText(ftp) CkFtp2::ckDispose(ftp) ProcedureReturn EndIf success = CkFtp2::ckDisconnect(ftp) Debug "File Downloaded!" CkFtp2::ckDispose(ftp) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.