Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 28/01/15, 10:16:41
Array

[xs_avatar]
joselehhh joselehhh no está en línea
Usuario muy activo
· Votos compra/venta: (3)
 
Fecha de registro: jun 2011
Localización: Toledo
Mensajes: 1,111
Modelo de smartphone: Xiaomi Redmi Note 4 global 3/32
Tu operador: Vodafone
Construir webform http post

Hola, estoy intentando construir una peticion http a una página. La página proporciona los horarios en tiempo real de autobuses y contiene un formulario que hay que rellenar con los datos de la parada y pulsar despues al botón buscar.

Mi duda es, como construir ese formulario en mi aplicación android y enviar la petición post a la página para recibir en el response los datos de los horarios en tiempo real.

Como no dispongo de ningun dato, capture con fiddler la peticion http y obtuve varios datos como los nombres de los parametros del web form y las cabeceras.

He buscado mucho por stackoverflow y para construirme la petición hago esto:

En el doinBackground:
[PHP] HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.ciudadreal.es/ciudadanos/lineas-autobuses/horarios-en-tiempo-real.html");


try {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("nearest", "false"));
nameValuePairs.add(new BasicNameValuePair("lat", "38.984999"));
nameValuePairs.add(new BasicNameValuePair("long", "-3.927356"));
nameValuePairs.add(new BasicNameValuePair("isStop", ""));
nameValuePairs.add(new BasicNameValuePair("lines", "1A"));
nameValuePairs.add(new BasicNameValuePair("itineraries", "1"));
nameValuePairs.add(new BasicNameValuePair("stops", "1001"));

httppost.setHeader("Content-Type","application/x-www-form-urlencoded");
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
[/PHP]

Despues convierto la respuesta a string y se la paso al onpostExecute y relleno un webview para ver la respuesta de prueba y obtengo la misma página, sin los datos de los horarios. Supongo que la petición no se hace bien.

Os dejo unas capturas del fiddler con los datos de la captura de la petición a la página desde el ordenador.

Gracias a todos!
Imágenes Adjuntas
Tipo de Archivo: jpg 1.JPG (54.1 KB, 9 visitas)
Tipo de Archivo: jpg 2.JPG (21.2 KB, 9 visitas)
Tipo de Archivo: jpg 3.JPG (49.0 KB, 9 visitas)
__________________
Mis apps en Google Play.
Responder Con Cita


  #2  
Viejo 30/01/15, 16:24:30
Array

[xs_avatar]
joselehhh joselehhh no está en línea
Usuario muy activo
· Votos compra/venta: (3)
 
Fecha de registro: jun 2011
Localización: Toledo
Mensajes: 1,111
Modelo de smartphone: Xiaomi Redmi Note 4 global 3/32
Tu operador: Vodafone
Bueno lo he resuelto cambiando la URL del host a otra página que ofrecía los horarios con el mismo webform de petición y he añadido dos cabeceras más a la petición http y ya recibo la respuesta. Paso el html en el response a string y después lo parseo con jsoup para obtener los datos que necesito.
Un saludo!!
__________________
Mis apps en Google Play.
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 13:37:38 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /