J'approche du développement iOS et j'aimerais avoir l'une de mes premières applications pour effectuer une requête HTTP POST.
Autant que je puisse comprendre, je devrais gérer la connexion qui gère la demande via un NSURLConnection
objet, ce qui m'oblige à avoir un objet délégué, qui à son tour gérera les événements de données.
Quelqu'un pourrait-il clarifier la tâche avec un exemple pratique?
Je devrais contacter un point de terminaison https en envoyant des données d'authentification (nom d'utilisateur et mot de passe) et en obtenant une réponse en texte brut.
la source
didReceiveAuthenticationChallenge
. Y a-t-il des problèmes de sécurité avec les mots de passe / noms d'utilisateur codés en dur? Y a-t-il un moyen de contourner cela?EDIT: ASIHTTPRequest a été abandonné par le développeur. C'est toujours très bon IMO, mais vous devriez probablement chercher ailleurs maintenant.
Je recommande vivement d'utiliser la bibliothèque ASIHTTPRequest si vous gérez HTTPS. Même sans https, il fournit un très bon wrapper pour des trucs comme celui-ci et bien qu'il ne soit pas difficile de le faire soi-même sur http simple, je pense juste que la bibliothèque est agréable et constitue un excellent moyen de commencer.
Les complications HTTPS sont loin d'être anodines dans divers scénarios, et si vous voulez être robuste dans la gestion de toutes les variations, vous trouverez la bibliothèque ASI une véritable aide.
la source
Je pensais que je mettrais un peu à jour ce post et dire que beaucoup de la communauté iOS est passée à AFNetworking après avoir
ASIHTTPRequest
été abandonnée. Je le recommande fortement. C'est un excellent wrapperNSURLConnection
et permet les appels asynchrones, et essentiellement tout ce dont vous pourriez avoir besoin.la source
Voici une réponse mise à jour pour iOS7 +. Il utilise NSURLSession, le nouveau hotness. Avertissement, ceci n'est pas testé et a été écrit dans un champ de texte:
Ou mieux encore, utilisez AFNetworking 2.0+. Habituellement, je sous-classe AFHTTPSessionManager, mais je mets tout cela dans une seule méthode pour avoir un exemple concis.
Si vous utilisez le sérialiseur de réponse JSON, responseObject sera un objet de la réponse JSON (souvent NSDictionary ou NSArray).
la source
REMARQUE: exemple Pure Swift 3 (Xcode 8): essayez l'exemple de code suivant. C'est le simple exemple de
dataTask
fonction deURLSession
.la source
Xcode 8 et Swift 3.0
Utilisation d'URLSession:
Appel du délégué URLSession:
Utilisation du bloc GET / POST / PUT / DELETE:
Fonctionne bien pour moi .. essayez-le 100% de garantie de résultat
la source
Voici comment la requête HTTP POST fonctionne pour iOS 8+ à l'aide de NSURLSession:
J'espère que cela satisfera votre exigence suivante.
la source