Foro de elhacker.net

Programación => Java => Mensaje iniciado por: MeCraniDOS en 1 Marzo 2014, 13:01 pm



Título: [?] Conexión HTTP Post
Publicado por: MeCraniDOS en 1 Marzo 2014, 13:01 pm
Buenas, estoy intentando pasar un codigo VB6 a Java..

El código en VB6 es este

Código
  1. Dim objHttp As Object, strURL As String, strText As String
  2.  
  3. strURL = "Mi web/" & "conectado.php"
  4.  
  5. Set objHttp = CreateObject("MSXML2.ServerXMLHTTP")
  6.  
  7. objHttp.Open "POST", strURL, False
  8.  
  9. objHttp.setRequestHeader "User-Agent", "Mozilla/5.0"
  10.  
  11. objHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
  12.  
  13. objHttp.Send ("Te he enviado un mensaje")
  14.  
  15. strText = objHttp.ResponseText

Y lo que tengo hecho en Java hasta el momento es esto

Código
  1. public static void sendPost() throws Exception
  2. {
  3. String url = "Mi web/" & "conectado.php";
  4. URL obj = new URL(url);
  5. HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
  6.  
  7. con.setRequestMethod("POST");
  8. con.setRequestProperty("User-Agent", "Mozilla/5.0");
  9.        con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
  10.  
  11. }


(Tengo mas código de unas pruebas que he hecho pero no me funciona)

El problema es que no se como enviar datos y recibirlos del servidor desde Java..

A ver si me pueden echar una mano  :huh: :huh:

Saludos


Título: Re: [?] Conexión HTTP Post
Publicado por: MeCraniDOS en 1 Marzo 2014, 22:13 pm
Ya lo he solucionado  :rolleyes: :rolleyes:

Saludos


Título: Re: [?] Conexión HTTP Post
Publicado por: ThinkByYourself en 3 Marzo 2014, 11:38 am
Hola, MeCraniDOS.

Podrías compartir la solución?
Es que estaba detrás de algo así, y la verdad nunca he usado esta clase de Java, y por lo que estoy viendo puede dar mucho juego si sabes usarla. Si pudieras colgar cómo solucionastes tu problema, sería de gran ayuda!

Gracias!


Título: Re: [?] Conexión HTTP Post
Publicado por: MeCraniDOS en 3 Marzo 2014, 21:54 pm
Hola, MeCraniDOS.

Podrías compartir la solución?
Es que estaba detrás de algo así, y la verdad nunca he usado esta clase de Java, y por lo que estoy viendo puede dar mucho juego si sabes usarla. Si pudieras colgar cómo solucionastes tu problema, sería de gran ayuda!

Gracias!

Claro!

Código
  1.    static final String USER_AGENT = "Mozilla/5.0";
  2.    static final String HOST = "Mi web/";
  3.    static final String PAGN = "conectado.php";
  4.  
  5.    public static void Prueba_Post() throws Exception
  6.    {
  7.        String url = HOST + PAGN;
  8. URL Objeto = new URL(url);
  9. HttpURLConnection Conexion = (HttpURLConnection) Objeto.openConnection();
  10.  
  11.        String Datos;
  12.        Datos = "Los datos que quieres enviar";
  13.  
  14. //Añadimos las cabeceras
  15. Conexion.setRequestMethod("POST");
  16. Conexion.setRequestProperty("User-Agent", USER_AGENT);
  17.        Conexion.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
  18.  
  19. //Enviamos los datos
  20.       Conexion.setDoOutput(true);
  21.        try (DataOutputStream EnvioDatos = new DataOutputStream(Conexion.getOutputStream()))
  22.        {
  23.            EnvioDatos.writeBytes(Datos);
  24.            EnvioDatos.flush();
  25.        }
  26.  
  27.        //Comprobamos que conecta correctamente
  28. int CodigoRespuesta = Conexion.getResponseCode();
  29.  
  30. System.out.println("\nSending 'POST' request to URL : " + url);
  31.        System.out.println("\nSending Data to URL : " + Datos);
  32. System.out.println("Response Code : " + CodigoRespuesta);
  33.  
  34.        //Esperamos que nos envie los datos
  35.        StringBuffer Respuesta;
  36.        try (BufferedReader Salida = new BufferedReader(new InputStreamReader(Conexion.getInputStream())))
  37.        {
  38.            String inputLine;
  39.            Respuesta = new StringBuffer();
  40.            while ((inputLine = Salida.readLine()) != null)
  41.            {
  42.                Respuesta.append(inputLine);
  43.            }
  44.        }
  45.  
  46. //Mostramos el resultado
  47. System.out.println(Respuesta.toString());
  48.  
  49.    }

Espero que te sirva  :rolleyes:

Saludos



Título: Re: [?] Conexión HTTP Post
Publicado por: ThinkByYourself en 6 Marzo 2014, 13:32 pm
Ei, muchas gracias MeCraniDOS!!

Un saludo!