Cyril
Cyril

Reputation: 1236

Why some Https url are not loading in the WebView?

Why some https links are not loading the WebView. I can see that some https url are loading perfectly in the safari browser, but when I try to load the same url in the webview, it is not loading. May be because the https has self-signed certificate ?? Can't we load the url in the WebView which has self-signed certificate ?

EDIT: Now I am able to call

- (BOOL)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace 
{
    return YES;
}

- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge 
{
    [challenge.sender useCredential:[NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust] forAuthenticationChallenge:challenge];
}

Still my https url is not loaded in the WebView.

Upvotes: 0

Views: 1615

Answers (1)

Paresh Navadiya
Paresh Navadiya

Reputation: 38249

Try this :

- (BOOL)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace 
{
  return YES;
}

- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {
NSArray *trustedHosts = [NSArray arrayWithObjects:@"mytrustedhost",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];
}

Upvotes: 0

Related Questions