Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I was testing my app that I've been working on for past 2 months. Basically it requests for JSON, that contains info about items. One field of JSON file is image_url. When I want to display this image, I need to download it from another server, that needs additional credentials.

So it goes like this-> In my cellForRowAtIndexPath I'm doing

NSDictionary *aucdict = [jsonAukResults objectAtIndex:indexPath.row];

NSURL *imageURL = [NSURL URLWithString:[aucdict objectForKey:@"img_url"]];

NSString *authPString = [[[NSString stringWithFormat:@"login:password"]dataUsingEncoding:NSUTF8StringEncoding] base64EncodedString];
NSString *verifPString = [NSString stringWithFormat:@"Image %@",authPString];
NSMutableURLRequest *Prequest = [[NSMutableURLRequest alloc] initWithURL:imageURL];
[Prequest setValue:verifPString forHTTPHeaderField:@"Authorization"];

NSError *error = nil;
NSURLResponse *resp = nil;
NSData *picresult = [NSURLConnection sendSynchronousRequest:Prequest returningResponse:&resp error:&error];


UIImage *imageLoad = [[UIImage alloc] initWithData:picresult];

Now, I just obscured credentials (they are not login:password :)). My problem is, that right now, I get 3 items. All 3 have image on same server. I can get two of them with this code no problem. However third one is problematic, I always get (NULL) imageLoad. On my simulator, everything works fine, I get all 3 pictures. On real device I get error.

I tried to NSURLConnection with error and response so I could debug better. This is what I got in my error.

Printing description of error:

Error Domain=NSURLErrorDomain Code=-1202 "The certificate for this server is invalid. You might be connecting to a server that is pretending to be “server name” which could put your confidential information at risk." UserInfo=0x1e5a3080 {NSErrorFailingURLStringKey=pictureLink.jpg, NSLocalizedRecoverySuggestion=Would you like to connect to the server anyway?, NSErrorFailingURLKey=pictureLink.jpg, NSLocalizedDescription=The certificate for this server is invalid. You might be connecting to a server that is pretending to be “server name” which could put your confidential information at risk., NSUnderlyingError=0x1e5a30e0 "The certificate for this server is invalid. You might be connecting to a server that is pretending to be “server name” which could put your confidential information at risk.", NSURLErrorFailingURLPeerTrustErrorKey=}

I dont use SSL so Im really confused as what could cause this error. Btw, everything worked fine until now (this is my initial screen, so it's been done for good month and a half). Now I started to do graphics and this problem popped up :(

share|improve this question
add comment

1 Answer 1

up vote 0 down vote accepted

My friend told me to try add "?" symbol at the end of URL. I don't understand why, but suddenly it works! Can anyone make it clear why it works? :) Thanks

NSMutableString *modURL = [NSMutableString stringWithString:[aucdict objectForKey:@"img_url"]];
    [modURL appendFormat:@"?"];
    NSURL *imageURL = [NSURL URLWithString:modURL];
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.