2010-04-28 734 views
9

¿ASIHTTPRequest admite conexiones HTTPS? Mi conexión en este momento funciona para una conexión HTTP y errores si intento una conexión HTTPS. (Entra en requestFailed y me da un ASIHTTPErrorRequestDomain)ASIHTTPRequest - HTTPS

-(void) getData 
{ 

av.hidden = NO; 
[av startAnimating]; 

NSString *urlString = [IP stringByAppendingString:@"Method1"]; 
NSURL *url = [NSURL URLWithString:urlString]; 
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 
NSLog(@"URL = %@",url); 
[request setRequestMethod:@"POST"]; 
[request setPostValue:@"val1" forKey:@"key1"]; 
[request setPostValue:@"val2" forKey:@"key2"]; 
[request setDelegate:self]; 
[request startAsynchronous];  
} 

- (void)requestFinished:(ASIHTTPRequest *)request 
{ 
    // Use when fetching text data 
    //NSString *responseString = [request responseString]; 

    // Use when fetching binary data 
    NSData *responseData = [request responseData]; 
    [self parseData:responseData]; 

    [av stopAnimating]; 
    av.hidden = YES; 
} 


- (void)requestFailed:(ASIHTTPRequest *)request 
{ 
    NSError *error = [request error]; 
    [av stopAnimating];  
    av.hidden = YES; 
} 

Gracias,
Teja

Respuesta

17

Vaya, lo siento, lo descubrió -

[request setValidatesSecureCertificate:NO] obras de referencia.

Gracias a estos chicos - http://www.iphonedevsdk.com/forum/iphone-sdk-development/29417-asihttprequest-library-works-https.html

EDIT: Ya que esto se está poniendo algunas upvotes, sólo me gustaría añadir que esto podría no ser el mejor enfoque para los certificados SSL válidos. El que estaba usando era un certificado autofirmado, así que estaba bien.

+3

Creo que quiere decir "No me importó si los datos fueron interceptados y descifrados/cambiados por un atacante a través de un ataque de hombre en el medio, por lo que un certificado autofirmado estaba bien". :-) – JosephH

+0

Haha, es realmente un poco más complicado que no gastar 10 dólares y obtener un certificado. Compramos los certificados de GoDaddy, pero el certificado en nuestro servidor de control de calidad tenía una discrepancia en el nombre de host que dio lugar a advertencias en algunos navegadores y al rechazo total al usar ASIHTTPRequest. Nadie se preocupó lo suficiente como para arreglarlo y aquí estamos :) –

+0

Increíble amigo. Ahorraste horas ... –

Cuestiones relacionadas