2010-04-28 4 views
9

Est-ce que ASIHTTPRequest prend en charge les connexions HTTPS? Ma connexion fonctionne maintenant pour une connexion HTTP et des erreurs si j'essaie une connexion HTTPS. (Sont en requestFailed et me donne 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; 
} 

Merci,
Teja

Répondre

17

Whoops, désolé, figured it out -

[request setValidatesSecureCertificate:NO] œuvres de référence.

Merci à ces gars-là - http://www.iphonedevsdk.com/forum/iphone-sdk-development/29417-asihttprequest-library-works-https.html

EDIT: Comme cela devient quelque upvotes, je voudrais simplement ajouter que cela pourrait ne pas être la meilleure approche pour les certificats SSL valides. Celui que j'utilisais était un certificat auto-signé, donc c'était bien.

+3

Je pense que vous voulez dire "Je me fichais que les données soient interceptées et décryptées/changées par un attaquant via une attaque de type" man-in-the-middle ", donc un certificat auto-signé était correct." :-) – JosephH

+0

Haha c'est vrai, c'est en fait un peu plus compliqué que de ne pas dépenser 10 dollars et d'obtenir un certificat. Nous avons acheté les certificats auprès de GoDaddy, mais le certificat sur notre serveur QA présentait une incompatibilité de nom d'hôte qui conduisait à des avertissements sur certains navigateurs et à un rejet total lors de l'utilisation de ASIHTTPRequest. Noone se souciait assez pour le réparer et nous voilà :) –

+0

Amazing buddy. Vous avez sauvé des heures .. –