2010-02-27 12 views

Respuesta

42

En este tutorial por Matt Long es particularmente bueno: 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]; 
5

Hay muchas maneras de implementar Solicitud HTTP en Objective-C, CFNetwork biblioteca está diseñado para este fin, pero la forma más fácil de desarrollar La solicitud http es usar NSURLConnection.

Este es un ejemplo:

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

usted recibirá la respuesta en didreceiveResponse: y didreceiveData: delegados.

5

es posible que también desee comprobar esta muestra

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"]; 

Puede encontrar más detalles aquí: http://www.redcodelabs.com/2009/08/objective-c-http-post-get-data/

+1

tenga en cuenta que ASIHTTPRequest es descontinuado por su autor original desde hace bastante tiempo (septiembre de 2011). http://allseeing-i.com/%5Brequest_release%5D; – vikingosegundo

5

esperanza que esto le ayudará, si desea enviar un formulario:

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]; 
27

esta es una forma sencilla de utilizar 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); 
Cuestiones relacionadas