2009-04-17 4 views

Répondre

-2

Voici un code de base que tu fais un appel POST:

//url is the appropriate url for the http POST call 
    NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url]; 
      [theRequest setHTTPMethod:@"POST"]; 

      NSURLConnection *theConnection = [[NSURLConnection alloc]initWithRequest:theRequest delegate:self]; 
      if(theConnection) 
      { 
       webData = [[NSMutableData data]retain]; 
      } 
      else 
      { 
       NSLog(@"theConnection is NULL"); 
      } 

Vous devez mettre en œuvre le approprié déléguer des méthodes de la NSURLConnection.

0

Deuxième réponse sur une recherche Google ressemble à ce que vous avez probablement besoin:

0

// Vous pouvez conduire un NSURLConnection synchrone en utilisant sendSynchronousRequest: returningResponse: Erreur: // mais qui permet de bloquer tout le fil jusqu'à ce que la réponse est reçue

// thebodyData = charge utile envoyée au serveur (dans le bon Format) // theMimeType = mineType de la charge utile // url est l'URL appropriée pour l'appel HTTP POST

NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url]; 
     [theRequest setHTTPMethod:@"POST"]; 

     NSURLConnection *theConnection = [[NSURLConnection alloc]initWithRequest:theRequest delegate:self]; 
     if(theConnection) 
     { 
      webData = [[NSMutableData data]retain]; 
      // give the details of the payload -- mine time and body content. 
      [theRequest setValue: theMimeType forHTTPHeaderField:@"Content-Type"]; 
      [theRequest setHTTPBody:theBodyData]; 

     } 
     else 
     { 
      NSLog(@"theConnection is NULL"); 
     } 

// the delegate methods templates... 

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response 
{ 
    [webData setLength:0]; // clear the data incase it was a redirect in between. 
} 

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 
{ 
    [webData appendData:data]; // collect the data from server as it comes in. 
} 

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error 
{ 
    [[NSAlert alertWithError:error] runModal]; // report the error 
} 

- (void)connectionDidFinishLoading:(NSURLConnection *)connection 
{ 
    // Once this method is invoked, "webData" contains the complete result 
}