2010-01-14 8 views
8

ACTUALIZACIÓN: esta pregunta es obviamente obsoleta (ver la fecha). Recomiendo solo usar las características modernas de iOS7 como NSURLSession. La pregunta se conserva para una precisión histórica, supongo.¿Buena biblioteca HTTP para Objective-C/iPhone?

¿Qué es una buena biblioteca HTTP para (escritorio Cocoa y) iPhone? Debería tener una buena interfaz con los conceptos básicos como encabezados HTTP, obtener/publicar valores (solicitud de creación de cadena, codificación/decodificación URL), sincronización y solicitudes asíncronas ... preferiblemente la implementación pura de Obj-C. NSURL * es algo que falta.

+0

No encontré nada útil. ¿Qué estás buscando que falta con NSURL? –

+0

darren - por ejemplo, forma fácil de generar solicitudes POST (valores corporales) a partir de un conjunto de claves y valores de parámetros. NSURL no da eso. – Jaanus

Respuesta

12
+0

Esto y TTURLRequest se ven bien. – Jaanus

+1

Un vistazo rápido a [la documentación de la biblioteca] (http://allseeing-i.com/ASIHTTPRequest/) y [github] (https://github.com/pokeb/asi-http-request/) revela que la biblioteca está no más desarrollado activamente ni por el desarrollador original ni por una comunidad y sí tiene [problemas serios] (https://github.com/pokeb/asi-http-request/pull/345). – user272735

1

He tenido un gran éxito con el Proyecto de Three20 TTURLRequest. Es una versión genericized de los elementos de interfaz de usuario utilizados en la aplicación de Facebook.

+0

¿La tienda de aplicaciones oficial de la sucursal es segura? –

+1

En http://three20.info/ hay un indicador del estado actual de la Tienda de aplicaciones Three20, y en el momento de escribir estas líneas está marcado como "seguro". –

1

Establecer los parámetros de publicación en el cuerpo HTTP es bastante sencillo con NSMutableURLRequest, puede envolverlo en un método conveniente a través de una categoría si eso es más deseable, similares a la biblioteca de OAuth en Google Code:

http://oauth.googlecode.com/svn/code/obj-c1/OAuthConsumer/NSMutableURLRequest+Parameters.m

Pedido la anulación setParameters, específicamente estas líneas:


NSData *postData = [encodedParameterPairs dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 
     [self setHTTPBody:postData]; 
     [self setValue:[NSString stringWithFormat:@"%d", [postData length]] forHTTPHeaderField:@"Content-Length"]; 
     [self setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 

por supuesto, usted querrá para ajustar el encabezado de tipo de contenido para el contenido específico del cuerpo de la publicación (p. json, xml, etc.).

Cuestiones relacionadas