Tutoriels pour l’utilisation de HTTP POST et GET sur l’iPhone en Objective-C

J’ai téléchargé la démo d’Apple pour utiliser HTTP POST et GET (leur exemple d’application a un tabbar avec différentes parties) et le code est tellement déroutant!

Quelqu’un pourrait-il me donner un exemple de code ou un lien vers certains tutoriels à ce sujet? 🙂

Merci!

Cette solution de Matt Long est particulièrement utile: http://www.cimgf.com/2010/02/12/accessing-the-cloud-from-cocoa-touch/

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithSsortingng:@"http://www.cimgf.com/testpost.php"]];  [request setHTTPMethod:@"POST"]; [request setValue:@"text/xml" forHTTPHeaderField:@"Content-type"];  NSSsortingng *xmlSsortingng = @"Item 1Item 2";  [request setValue:[NSSsortingng ssortingngWithFormat:@"%d", [xmlSsortingng length]] forHTTPHeaderField:@"Content-length"];  [request setHTTPBody:[xmlSsortingng dataUsingEncoding:NSUTF8SsortingngEncoding]];  [[NSURLConnection alloc] initWithRequest:request delegate:self]; 

c’est un moyen simple d’utiliser GET:

  NSURL *url = [NSURL URLWithSsortingng:@"http://www.32133.com/test?name=xx"]; NSData *data = [NSData dataWithContentsOfURL:url]; NSSsortingng *ret = [[NSSsortingng alloc] initWithData:data encoding:NSUTF8SsortingngEncoding]; NSLog(@"ret=%@", ret); 

vous pouvez également vouloir vérifier cet échantillon

 ASIFormDataRequest *request = [[[ASIFormDataRequest alloc] initWithURL:url] autorelease]; [request setPostValue:@"Ben" forKey:@"first_name"]; [request setPostValue:@"Copsey" forKey:@"last_name"]; [request setFile:@"/Users/ben/Desktop/ben.jpg" forKey:@"photo"]; 

Vous pouvez trouver plus de détails ici: http://www.redcodelabs.com/2009/08/objective-c-http-post-get-data/

Il existe plusieurs manières d’implémenter la requête HTTP dans CFNetwork -C, la bibliothèque CFNetwork est conçue à cette fin, mais le moyen le plus simple de développer une requête HTTP est d’utiliser NSURLConnection .

Voici un exemple:

 NSURLConnection *cmdConn = [[[NSURLConnection alloc] initWithRequest:req delegate:self startImmediately:YES] autorelease]; 

vous recevrez la réponse dans didreceiveResponse: et didreceiveData: delegates.

J’espère que cela vous aidera, si vous souhaitez poster un formulaire:

 NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL: [NSURL URLWithSsortingng:@"http://www.32133.com/test"]]; [request setHTTPMethod:@"POST"]; NSSsortingng *postSsortingng = @"name=ivybridge&description=This%20is%20desp."; [request setValue:[NSSsortingng ssortingngWithFormat:@"%d", [postSsortingng length]] forHTTPHeaderField:@"Content-length"]; [request setHTTPBody:[postSsortingng dataUsingEncoding:NSUTF8SsortingngEncoding]]; [[NSURLConnection alloc] initWithRequest:request delegate:self];