1

在运行 iphone 应用程序时,我多次收到以下错误

The connection failed due to a malformed URL

CFNetwork Error Codes Reference,我得到了这个错误由​​ CFNetwork 触发的信息

  • 何时以及为何触发此错误?
  • 如何摆脱这个错误?
4

1 回答 1

2

NSURLConnection 有一个方法 canHandleRequest 将返回一个布尔值,无论 url 是否有效,例如

NSString *strUrl = [NSString stringWithFormat:@"http://test.com/stopBoard/%i",busStopCode];
NSURL *url = [NSURL URLWithString:strUrl];
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url 
                                              cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData 
                                          timeoutInterval:20.0];
// a cache policy of NO must be used otherwise the previous query is used if the phone is not online

BOOL canGo = [NSURLConnection canHandleRequest:request];
if(canGo){
    connection = [[NSURLConnection alloc] initWithRequest:request 
                                                 delegate:self 
                                         startImmediately:YES];


} else {
    self.errorMessage = @"\n\nurl check failed\n\n";
    return NO;
}
于 2012-09-12T08:34:51.897 回答