Objective-C
Objective-C
Connect to FTP Through an HTTP Proxy
See more FTP Examples
Demonstrates connecting through an HTTP proxy using HttpProxyHostname, HttpProxyPort, HttpProxyUsername, HttpProxyPassword, HttpProxyAuthMethod, and HttpProxyDomain.
Background: Many corporate networks force outbound traffic through an HTTP proxy, which reaches the FTP control connection via the
CONNECT method — so the proxy must permit CONNECT to the FTP port. HttpProxyAuthMethod is Basic or NTLM, with HttpProxyDomain supplying the Windows domain for NTLM. This is distinct from a traditional FTP proxy, which speaks FTP itself.Chilkat Objective-C Downloads
#import <CkoFtp2.h>
BOOL success = NO;
CkoFtp2 *ftp = [[CkoFtp2 alloc] init];
ftp.Hostname = @"ftp.example.com";
ftp.Username = @"myFtpLogin";
// The HTTP proxy through which the FTP control connection is made. Common ports are 8080 and
// 3128.
ftp.HttpProxyHostname = @"proxy.example.com";
ftp.HttpProxyPort = [NSNumber numberWithInt:8080];
// Proxy authentication, if required. HttpProxyAuthMethod is "Basic" or "NTLM"; HttpProxyDomain
// is the Windows domain used for NTLM.
ftp.HttpProxyUsername = @"myProxyLogin";
ftp.HttpProxyPassword = @"myProxyPassword";
ftp.HttpProxyAuthMethod = @"NTLM";
ftp.HttpProxyDomain = @"CORP";
// Normally you would not hard-code the password in source. You should instead obtain it
// from an interactive prompt, environment variable, or a secrets vault.
ftp.Password = @"myPassword";
success = [ftp Connect];
if (success == NO) {
NSLog(@"%@",ftp.LastErrorText);
return;
}
NSLog(@"%@",@"Connected through the HTTP proxy.");
success = [ftp Disconnect];
if (success == NO) {
NSLog(@"%@",ftp.LastErrorText);
return;
}