42 votes

Tutoriels pour utiliser 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 comporte une barre de tabulation 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 des tutoriels à ce sujet? :)

Merci!

42voto

Dirk Stoop Points 2223

Cette présentation de Matt Long est particulièrement intéressante: http://www.cimgf.com/2010/02/12/accessing-the-cloud-from-cocoa-touch/

 NSMutableURLRequest *request = [[NSMutableURLRequest alloc] 
        initWithURL:[NSURL 
        URLWithString:@"http://www.cimgf.com/testpost.php"]];
 
[request setHTTPMethod:@"POST"];
[request setValue:@"text/xml" 
              forHTTPHeaderField:@"Content-type"];
 
NSString *xmlString = @"<data><item>Item 1</item><item>Item 2</item></data>";
 
[request setValue:[NSString stringWithFormat:@"%d",
        [xmlString length]] 
        forHTTPHeaderField:@"Content-length"];
 
[request setHTTPBody:[xmlString 
        dataUsingEncoding:NSUTF8StringEncoding]];
 
[[NSURLConnection alloc] 
        initWithRequest:request 
                   delegate:self];
 

30voto

navins Points 1210

c'est un moyen simple d'utiliser GET:

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

5voto

Milad Rk Points 908

Il existe de nombreuses façons d'implémenter HTTP Request dans la bibliothèque objective-c, la bibliothèque CFNetwork est conçue à cet effet, mais la manière la plus simple de développer une requête http consiste à utiliser NSURLConnection .

Voici un échantillon:

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

vous recevrez la réponse en didreceiveResponse: et didreceiveData: délégués.

5voto

Adrian Pirvulescu Points 3671

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/

5voto

zjuticket Points 31

espérons que cela vous aidera si vous souhaitez poster un formulaire:

 NSMutableURLRequest *request = 
        [[NSMutableURLRequest alloc] initWithURL:
            [NSURL URLWithString:@"http://www.32133.com/test"]];

[request setHTTPMethod:@"POST"];

NSString *postString = @"name=ivybridge&description=This%20is%20desp.";

[request setValue:[NSString 
        stringWithFormat:@"%d", [postString length]] 
        forHTTPHeaderField:@"Content-length"];

[request setHTTPBody:[postString 
        dataUsingEncoding:NSUTF8StringEncoding]];

[[NSURLConnection alloc] 
        initWithRequest:request delegate:self];
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X