2011-06-10 29 views
7

Empiezo la programación de iPhone y tengo un gran problema que no puedo resolver.Cargar URL de HTTPS en UIWebView

lo tanto, tengo una UIWebview, puedo cargar HTTP url sin problemas:

NSString urlAdress; 
urlAdress = @"http://servername"; 
NSURL *url = [NSURL URLWithString:urlAdress]; 
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 
[webView loadRequest:requestObj]; 

Su trabajo, mi página es la carga en mi UIWebView, pero cuando lo reemplace:

urlAdress = @"http://servername"; 

por

urlAdress = @"https://servername"; 

Tengo pantalla en blanco.

He leído su versión normal, pero ¿hay algún método sencillo para cargar la URL https en mi página web?
He leído sobre ASIHTTPRequest pero no llegué a implementarlo.

Solo quiero cargar HTTPS URL.

+0

¿Qué ocurre si se carga 'https: // servername' en Safari? – deanWombourne

+0

En safari, puedo cargar "http: // servername" y "https: // servername" – Borneto

+1

¿Esto es con un certificado autofirmado? – Jim

Respuesta

6

Prueba esto:

- (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]; 
} 
+1

¿Acabo de agregar esto al UIViewController que contiene el UIWebView? No estoy muy seguro de qué hacer con esto. – powerj1984

+1

Estos dos métodos son parte del protocolo [NSURLConnectionDelegate] (https://developer.apple.com/library/ios/#documentation/Foundation/Reference/NSURLConnectionDelegate_Protocol/Reference/Reference.html), por lo que los coloca en cualquier archivo está actuando como delegado para su NSURLConnection. –

+0

también estaba usando un certificado auto asignado y funcionó con la implementación anterior. – m4n1c

Cuestiones relacionadas