martes, 16 de noviembre de 2010

URL Encoding en Objective-C [Receta iPhone y iPad]

Si necesitamos comunicarnos con algún servicio web enviándole datos es muy probable que tratemos de formar la url a partir de una cadena de caraceteres:


NSString *urlString = [NSString stringWithFormat:@"http://servicio/parametro1/%@/",
parametro];

Cuidado con esto. Te puedes encontrar con que el servicio devuelva un BAD REQUEST debido a que no entiende el contenido de los parámetros.

Solución

La solución radica en formar la url así


NSURL *theURL = [[NSURL alloc] initWithScheme:@"http" host:@"servicio"
path:[NSString stringWithFormat:@"/%@",parametro]];


En ese caso la codificación a porcentajes la hará automáticamente.

No hay comentarios:

Publicar un comentario