我不知道如何在iPhone上制作FTPS(基于SSL的FTP)。我想使用以下代码
ftpStream = CFWriteStreamCreateWithFTPURL(NULL, (CFURLRef) url);
CFWriteStreamSetProperty(ftpStream, kCFStreamPropertyFTPUserName,username);
CFWriteStreamSetProperty(ftpStream, kCFStreamPropertyFTPPassword,password);
self.networkStream = (NSOutputStream *) ftpStream;
[self.networkStream setProperty:NSStreamSocketSecurityLevelSSLv3 forKey:(id)NSStreamSocketSecurityLevelKey];
self.networkStream.delegate = self;
[self.networkStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[self.networkStream open];
...
- (void)stream:(NSStream *)aStream handleEvent:(NSStreamEvent)eventCode
{
NSLog(@"Hello\n");
}
此代码连接到服务器,但随后停止一起讨论。我也尝试使用以下方法设置安全级别
NSDictionary *settings = [NSDictionary dictionaryWithObjectsAndKeys:
(NSString *)kCFStreamSocketSecurityLevelSSLv3, kCFStreamSSLLevel,
kCFBooleanTrue, kCFStreamSSLAllowsAnyRoot,
kCFBooleanFalse, kCFStreamSSLValidatesCertificateChain,
hostName, kCFStreamSSLPeerName,
kCFBooleanFalse, kCFStreamSSLIsServer,
kCFBooleanFalse,kCFStreamSSLValidatesCertificateChain,
kCFBooleanTrue, kCFStreamSSLAllowsExpiredCertificates,
kCFBooleanTrue, kCFStreamSSLAllowsExpiredRoots,
nil];
CFWriteStreamSetProperty(ftpStream, kCFStreamPropertySSLSettings, settings);
这允许我连接和传输数据,但不能通过SSL。
知道我做错了什么。
答案 0 :(得分:2)
iPhone上没有内置的FTPS功能,请参阅:http://developer.apple.com/iphone/library/technotes/tn2009/tn2152.html
您必须构建自己的FTPS库。我也不知道iPhone的任何第三方FTPS库 - 但上面的文章提供了一些概述和策略可以提供传输文件的可能性。
答案 1 :(得分:0)
你应该查看这个例子,来自iOS Developer Library,它的名称为SimpleFTPSample,描述如下:
SimpleFTPSample显示了如何使用简单的FTP操作 NSURLConnection和CFFTPStream API。它可以使用下载文件 NSURLConnection和CFFTPStream。此外,它可以上传文件,列表 目录,并使用CFFTPStream创建目录。
希望这会对你有所帮助。
答案 2 :(得分:-2)
以上答案是正确的:您必须自己从Chilkat Software购买。