|
From: | Maxthon Chan |
Subject: | NSURLConnection and SSL |
Date: | Wed, 10 Apr 2013 00:05:26 +0800 |
Hi Everyone: I am writing a project for OS X, iOS and Linux, and a cross-platform lore library is called for. This following code works fine under both OS X and iOS, but are very problematic under Linux using GNUstep: - (NSData *)dataWithData:(NSData *)data fromMethod:(NSString *)method error:(NSError *__autoreleasing *)error { NSURL *methodURL = [NSURL URLWithString:method relativeToURL:self.serverRoot]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:methodURL]; if ([data length]) { [request setHTTPMethod:@"POST"]; [request setHTTPBody:data]; } [request setValue:[self userAgent] forHTTPHeaderField:@"User-Agent"]; NSError *err = nil; NSHTTPURLResponse *response = nil; NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err]; if (![responseData length]) { WFAssignPointer(error, err); return nil; } if ([response statusCode] >= 400) { NSDictionary *userInfo = @{ NSLocalizedDescriptionKey: NSLocalizedStringFromTableInBundle(WFSTR(@"http%ld", [response statusCode]), @"error", WFThisBundle, @"") }; err = [NSError errorWithDomain:WFErrorDoamin code:[response statusCode] userInfo:userInfo]; WFAssignPointer(error, err); return nil; } return responseData; } The methodURL is a HTTPS URL. The call to [NSURLConnection sendSynchronousRequest:returningResponse:error] failed silently, making this code very confused. Would anyone tell me what happened? |
[Prev in Thread] | Current Thread | [Next in Thread] |