我刚刚开始学习 ios 开发,我正在尝试从使用 ssl 的网站获取图像,当我通过浏览器(笔记本电脑)连接到该网站时,会出现一条警告说根证书不受信任,我是不是网站的所有者,但我可以完全信任它。我的第一次尝试:
self.eventImage.image = [UIImage imageWithData:
[NSData dataWithContentsOfURL:
[NSURL URLWithString:imageUrl]]];
所以我得到这个错误
NSURLConnection/CFURLConnection HTTP 加载失败 (kCFStreamErrorDomainSSL, -9807)
我试图通过启动 ios 网络浏览器将用户发送到图片链接,当他们这样做时,他们会收到一条消息,询问他们是否可以信任它,如果他们点击是,图像将出现,但是我想要图像出现在应用程序内部。
我也尝试过使用网络视图,但它没有用。
这里的大多数类似问题都建议使用这个
- (BOOL)connection:(NSURLConnection *)
connection canAuthenticateAgainstProtectionSpace:
(NSURLProtectionSpace *)protectionSpace {
return NO;
//return [protectionSpace.authenticationMethod isEqualToString:
// NSURLAuthenticationMethodServerTrust];
}
- (void)connection:(NSURLConnection *)
connection didReceiveAuthenticationChallenge:
(NSURLAuthenticationChallenge *)challenge {
NSString *imageUri =[self.detailItem objectForKey: @"image"];
NSArray *trustedHosts = [[NSArray alloc]initWithObjects:imageUri, nil];
if ([challenge.protectionSpace.authenticationMethod
isEqualToString:NSURLAuthenticationMethodServerTrust])
if ([trustedHosts containsObject:challenge.protectionSpace.host])
[challenge.sender useCredential:[NSURLCredential credentialForTrust:
challenge.protectionSpace.serverTrust] forAuthenticationChallenge:
challenge];
[challenge.sender continueWithoutCredentialForAuthenticationChallenge:challenge];
}
但是当我添加它们时,这两种方法从未被调用过。