J'ai découvert ASIHTTPRequest il y a quelques jours et je suis maintenant bloqué sur une chose. Je voudrais authentifier mon auto sur une adresse https (https://user:[email protected]/0.1/userCom/?apikey=12432)Authentification ASIHTTPRequest
J'essaie ce code:
NSURL *url = [NSURL URLWithString:@"https://api.domain.com/0.1/userCom/?apikey=12432"];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setDelegate:self];
[request setUsername:@"myUserName"];
[request setPassword:@"myPassword"];
[request startAsynchronous];
et je l'ai mis en œuvre les méthodes déléguées
-(void)requestFailed:(ASIHTTPRequest *)request
{
NSError *error = [request error];
NSLog(@"Failed %@ with code %d and with userInfo %@",[error domain],[error code],[error userInfo]);
}
-(void)requestFinished:(ASIHTTPRequest *)request
{
NSLog(@"Finished : %@",[request responseString]);
}
Quand je lance mon application la méthode requestFailed est directement appelée et j'ai ce message:
Failed ASIHTTPRequestErrorDomain with code 1 and with userInfo {
NSLocalizedDescription = "A connection failure occurred: SSL problem (possibly a bad/expired/self-signed certificate)";
NSUnderlyingError = "Error Domain=NSOSStatusErrorDomain Code=-9807 \"The operation couldn\U2019t be completed. (OSStatus error -9807.)\" UserInfo=0x680fbf0 {}";
Vous avez une idée pour résoudre ce problème? Merci beaucoup!
i) Ce n'est pas mon serveur, donc je vais vérifier cela avec mon client :) Si j'essaye https: // utilisateur: [email protected]/0.1/userCom/?apikey=12323 sur mon Safari Mac il n'y a pas de problème. ii) Bien fonctionner! Merci pour votre aide. Si vous avez d'autres choses à ajouter, merci de l'écrire :) – Pierre
Il est possible que Mac ait des autorités de certification présentes que l'iphone n'a pas, et qu'une autorité de certification manquante pourrait causer ce genre d'erreur. Si vous obtenez une erreur similaire sur safari sur l'appareil, alors c'est le problème - si le safari sur l'appareil fonctionne bien alors il pourrait s'agir d'un bug asihttprequest en quelque sorte. – JosephH
Désactiver la vérification de certificat aide dans la plupart des cas – knuku