Foros del Web » Programación para mayores de 30 ;) » Java »

Enviar formulario con POST

Estas en el tema de Enviar formulario con POST en el foro de Java en Foros del Web. Hola.. Estoy realizando una aplicación y necesito obtener información de la web que recibo al enviar un formulario. La web que recibo es muy sencilla, ...
  #1 (permalink)  
Antiguo 26/12/2011, 10:46
 
Fecha de Ingreso: agosto-2008
Mensajes: 89
Antigüedad: 15 años, 8 meses
Puntos: 1
Información Enviar formulario con POST

Hola..

Estoy realizando una aplicación y necesito obtener información de la web que recibo al enviar un formulario. La web que recibo es muy sencilla, es texto plano con un número que se recuperar. El problema es como enviar el formulario...el código html del form es este:

Código HTML:
 <form action="index.php" method="post" id="login">
            <input type="text" name="username" />
            <input type="password" name="password" />
            <input type="submit" value="Entrar" />
            <input type="hidden" name="testcookies" value="1" />
            <input type="hidden" name="nosso" value="1" />
        </form> 
Ya se que el formulario no es el ideal, dado que seguro que el testcookies y el nosso me van a fastidiar ahora con Java, pero no puedo prescindir de ellos....

Lo que tenía pensado era un URLConnection al que le metía tantos addRequestProperty como necesitase...pero lo que he encontrado no lo utiliza... por ejemplo:

http://www.forosdelweb.com/f45/form-...rgente-737570/

Dadme pistas de por donde tirar, please!!!

Muchas gracias, y felices fiestas (si es que no estáis trabajando...).
Saludos.
  #2 (permalink)  
Antiguo 27/12/2011, 02:32
 
Fecha de Ingreso: agosto-2008
Mensajes: 89
Antigüedad: 15 años, 8 meses
Puntos: 1
Exclamación Respuesta: Enviar formulario con POST

Código:
String data = URLEncoder.encode("username", "UTF-8") + "=" + URLEncoder.encode(String.valueOf(nia), "UTF-8");
        data += "&" + URLEncoder.encode("password", "UTF-8") + "=" + URLEncoder.encode(password, "UTF-8");
        data += "&" + URLEncoder.encode("submit", "UTF-8") + "=" + URLEncoder.encode("Entrar", "UTF-8");
        data += "&" + URLEncoder.encode("testcookies", "UTF-8") + "=" + URLEncoder.encode("0", "UTF-8");
        data += "&" + URLEncoder.encode("nosso", "UTF-8") + "=" + URLEncoder.encode("1", "UTF-8");

        //To handle cookies and therefore get redirected to the site
        //CookieHandler.setDefault(new CookieManager());
        
        URL url = new URL("WEB DEL SITE https://www.loquesea.com/index.php");
        HttpURLConnection con =  (HttpURLConnection) url.openConnection();
        con.setRequestMethod("POST");
        con.setDoOutput(true);
        OutputStreamWriter wr = new OutputStreamWriter(con.getOutputStream());
        wr.write(data);
        wr.flush();

        BufferedReader rd = new BufferedReader(new InputStreamReader(con.getInputStream()));
        String aux;
        String line = "";
        while ((aux = rd.readLine()) != null) {
          line += aux;
        }
        wr.close();
        rd.close();       
     
        //We parse Line and find whether password is correct or not
        if(line.indexOf("<div class=\"loginerrors\">") != -1){
            return false;
        }else{
            return true;
        }
  #3 (permalink)  
Antiguo 27/12/2011, 02:43
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 2 meses
Puntos: 78
Respuesta: Enviar formulario con POST

Hola,
no me queda claro si lo quieres en PHP o en JAVA ya que en el formulario haces referencia a index.php. Si lo quieres en JAVA, puedes recepcionar los datos en un Sevlet en el método doPOST con unos simples:

Código Java:
Ver original
  1. String strNombre = request.getParameter("nombre");

Y ya tienes los datos. Así de simple.

Un saludo
  #4 (permalink)  
Antiguo 27/12/2011, 05:12
 
Fecha de Ingreso: agosto-2008
Mensajes: 89
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Enviar formulario con POST

Gracias por la respuesta, de todas formas el código del segundo mensaje funciona perfectamente. Era por compartirlo por si alguien alguna vez lo encuentra y lo necesita ;)
  #5 (permalink)  
Antiguo 27/12/2011, 06:14
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 2 meses
Puntos: 78
Respuesta: Enviar formulario con POST

Ah, ok!!

Un saludo!

Etiquetas: formulario, post
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:43.