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
(Delphi ActiveX) 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.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB; ... procedure TForm1.Button1Click(Sender: TObject); var ftp: TChilkatFtp2; success: Integer; localFilename: WideString; remoteFilename: WideString; begin // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. ftp := TChilkatFtp2.Create(Self); ftp.Hostname := 'ftp.example.com'; ftp.Username := 'login'; ftp.Password := '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: ftp.SocksHostname := 'www.mysocksproxyserver.com'; ftp.SocksPort := 1080; ftp.SocksUsername := 'myProxyLogin'; ftp.SocksPassword := 'myProxyPassword'; // Set the SOCKS version to 4 or 5 based on the version // of the SOCKS proxy server: ftp.SocksVersion := 5; // Note: SOCKS4 servers only support usernames without passwords. // SOCKS5 servers support full login/password authentication. // Connect and login to the FTP server. success := ftp.Connect(); if (success <> 1) then begin Memo1.Lines.Add(ftp.LastErrorText); Exit; end; // 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 := ftp.ChangeRemoteDir('junk'); if (success <> 1) then begin Memo1.Lines.Add(ftp.LastErrorText); Exit; end; // Download a file. localFilename := 'c:/temp/hamlet.xml'; remoteFilename := 'hamlet.xml'; success := ftp.GetFile(remoteFilename,localFilename); if (success <> 1) then begin Memo1.Lines.Add(ftp.LastErrorText); Exit; end; success := ftp.Disconnect(); Memo1.Lines.Add('File Downloaded!'); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.