如何检查ftp URL是否正确且可访问?

时间:2013-02-06 06:20:34

标签: objective-c cocoa-touch ftp afnetworking

我正在为iPad编写一个应用程序,它必须从FTP服务器上传/下载文件。那么如何检查用户输入的FTP URL是否正确且可访问?我正在使用AFNetworking下载文件,所以如果我将UIAlertView放入setCompletionBlockWithSuccess: failure^,它会在很长一段时间后执行。有任何想法吗?谢谢你的帮助!

2 个答案:

答案 0 :(得分:1)

好的,所以我发现也许不是最好的解决方案,但它实际上效果很好:

- (BOOL) isFTPReachable {

NSURL *url = [NSURL URLWithString:@"ftp://anonymous@ftpserver"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"HEAD"];
[request setTimeoutInterval:10];
NSURLResponse *response;
NSError *error;
NSData *myData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
    if (myData) {
        return true;

    } else {
        return false;

    }

}

- (void) startSync {

if ([self isFTPReachable]) {

    [self startDownload];
}
else {
    UIAlertView *alarma = [[UIAlertView alloc] initWithTitle:@"Connection error" message:nil delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
    [alarma show];
    }
}

答案 1 :(得分:0)

看看this示例。我在我的项目中使用它并且它非常快。

或者看一下苹果的例子project

希望它有所帮助!