2010-05-11 5 views
2

Je travaille sur un projet iPhone qui doit se connecter au serveur IIS via le protocole HTTPS ou SSL. Quelqu'un peut-il me dire comment implémenter la connexion HTTPS sur iPhone? Tout conseil serait apprécié.Développement iPhone: Comment implémenter la connexion HTTPS?

Merci d'avance.

+0

juste une note: pas besoin de mettre dev iPhone dans le titre, il est déjà dans les balises – medopal

Répondre

2

Le framework ASIHTTPRequest de Ben Copsey simplifie l'émission de requêtes Web via SSL.

Modifier l'exemple du site légèrement:

NSURL *url = [NSURL URLWithString:@"https://allseeing-i.com"]; 
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; 
[request startSynchronous]; 
NSError *error = [request error]; 
if (!error) { 
    NSString *response = [request responseString]; 
    NSLog (@"%@", response); 
} 
+0

Alors ASIHTTPRequest reconnaître le site https et crypte les données? Est-ce correct? –

+0

ASIHTTPRequest a été abandonné. Voir: http://allseeing-i.com/ et recherche sur "[request release]" –

+0

Merci, je sais déjà à ce sujet, mais j'ai travaillé avec ASIHTTPRequest jusqu'à présent et je veux compléter cette application avec ASIHTTPRequest. Alors réponds à ma question ci-dessus. Grands remerciements;) –

0

Il suffit d'utiliser NSURLConnection avec un NSURLRequest pointant vers un NUSUL avec le protocole https, comme ça:

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"https://mySecureServer.net"]]; 
NSURLResponse *response = nil; 
NSError *error = nil; 
NSData *result = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; 
if (!error) { 
    //do something with response & data 
} 

Mais je vous suggère de jeter un coup d'oeil la documentation du URL loading system dans Cocoa.

+0

Salut stigi, Merci pour votre aide. Et j'ai lu la documentation du système de chargement d'URL dans Cocoa. Mais je suis toujours aux prises avec le problème HTTPS. J'ai changé mon code comme ci-dessus. Mais la clause "! Error" n'est pas toujours vraie, ce qui indique qu'il doit y avoir une erreur. Y a-t-il quelque chose que je dois faire sur le serveur? Et comment configurer le serveur? En passant, le serveur est dans ce cas écrire en utilisant ASP sur IIS. Dans l'attente de votre aide! Merci Jason – Jason

0

Jason ne pas oublier de mettre en œuvre la connexion : canAuthenticateAgainsProtectionSpace et connexion: didReceiveAuthenticationChallenge pour vous assurer que vous manipulez les défis pour l'authentification du serveur et authentification client:

contrôle ce poste qui sera vous aider avec ceci https://devforums.apple.com/message/143091#143091

0

Vous n'avez probablement pas de certificat public. Pouvez-vous accéder à la ressource https avec firefox/safari/chrome sans erreur? sinon - c'est le problème, pas votre code.