jueves, 24 de mayo de 2012

Hacer POST y PHP iOS

Intro.
Hacer post desde nuestro dispositivo móvil es una de las partes mas importantes al momento de interactuar con otros medios, ya que esto nos sirve para mandar parámetros y ya dependiendo de estos y a su destino es la funcionalidad que tendrá.


Rollo:
Este método empleado debo de mencionar que lo utilizo en mi proyecto final de abrir y cerrar una puerta desde nuestro dspositivo móvil.

Código:
El codigo ejemplo que uso es el mandar parámetros a un archivo php y este imprimira cualquier valor obtenido



iOS
-(void)postData:(int)a
{
NSURL *url = [NSURL URLWithString:@"http://abimage.comli.com/dispmoviles/iOS/WS/samplePost.php?"];
//URL a usar para mandar los parametros en este caso utilizo mi pagina ejemplo
NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url
cachePolicy:NSURLRequestReloadIgnoringCacheData
timeoutInterval:60];
[req setHTTPMethod:@"POST"]; //indicamos que es un metodo POST
[req setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
//Indicamos en que formato esta lo que mandamos
//Valor del post
NSString *postData = [NSString stringWithFormat:@"prueba=algunValor"]; //Mandamos el valor
NSString *length = [NSString stringWithFormat:@"%d", [postData length]];
[req setValue:length forHTTPHeaderField:@"Content-Length"]; //indicamos en nuestro paquete el tamaño de
//nuestros datos
NSLog(@" tamano: %d", postData.length); //Podemos imprimir nuestro datos para saber cuales son
[req setHTTPBody:[postData dataUsingEncoding:NSASCIIStringEncoding]]; //Mandamos el contenido de este
NSHTTPURLResponse* urlResponse = nil; //Vemos nuestra respuesta
NSError *error = [[NSError alloc] init]; //creamos un parametro valor, donde nos servira mucho para
//debugiar algunos errores generados
NSData *responseData = [NSURLConnection sendSynchronousRequest:req
returningResponse:&urlResponse
error:&error];
//Guardamos los parametros que obtuvimos en la respuesta
NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSASCIIStringEncoding]; //Guardamos en estring
NSLog(@"Respueta: %@", responseString); //imprimimos lo obtenido
}
view raw gistfile1.m hosted with ❤ by GitHub


PHP
<?php
print $HTTP_RAW_POST_DATA;
?>
view raw gistfile1.aw hosted with ❤ by GitHub

Resultado





En la imagen anterior, podemos ver la respuesta obtuvida, tanto el tamaño que mandamos y lo que imprimio nuestro servidor.

No hay comentarios:

Publicar un comentario