Nota!
Th es extremadamente viejo, la respuesta está aquí solo para propósitos históricos.
La maravillosa biblioteca ASIHttpRequest ya no existe; la tecnología es totalmente diferente ahora.
Es increíblemente fácil de hacer esto con ASIHttpRequest.
(Asincrónico es tan simple que no hay ninguna razón para que lo haga de forma no asíncrona.)
Aquí hay algunos extractos aproximados que podrían ayudarlo a comenzar.
...
ASIFormDataRequest *request;
...
NSURL *url = [NSURL URLWithString:@"https://blah.blah/blah.cgi?blah"];
request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:@"fred" forKey:@"username"];
[request setPostValue:@"flint" forKey:@"passie"];
[request setPostValue:@"stone" forKey:@"town"];
// send up data...
[request setData:[NSData dataWithBytes:blah length:blah] forKey:@"thefile"];
// or perhaps something like...
[request setData:imageData withFileName:@"blah.png"
andContentType:@"image/jpeg" forKey:@"photoimage"];
[request setDelegate:self];
[request setDidFinishSelector:@selector(postingDone:)];
[request setDidFailSelector:@selector(postingDoneProblem:)];
[request startAsynchronous];
...
-(void) postingDone:(ASIHTTPRequest *)request
{
// it worked
}
-(void) postingDoneProblem:(ASIHTTPRequest *)request
{
// failed
}
No podría ser más fácil. Básicamente estás simplemente escribiendo los campos y valores.
por su pregunta, aquí es cómo se cancela una solicitud "en vuelo" ... acaba de establecer el delegado a cero y luego "cancelar" la misma.
[myRequest setDelegate:nil];
[myRequest cancel];
[myRequest release];
ASIHttpRequest es la "biblioteca de milagros". Si eres nuevo en iOS, ASIHttpRequest es simplemente LA biblioteca de terceros más utilizada. Esencialmente, cada aplicación de iPhone de las 300,000 aplicaciones de iPhone lo usa.
De ser posible, ASEGÚRESE de donarle unos pocos dólares al hombre: si deja de prestarle apoyo a esa biblioteca, 100.000 programadores de iPhone son enloquecidos.
la documentación es trivial, un niño puede seguir:
http://allseeing-i.com/ASIHTTPRequest/How-to-use
"Creación de una solicitud asincrónica"
es probable que sea - casi con seguridad - la biblioteca de red más sorprendentemente sencilla en cualquier plataforma. Es trivial hacer lo que describes, felizmente. Disfrutar.