Enviar un tipo consulta tipo POST usando una URL

2045 vistas

Para hacerlo tendremos que recuperar la URLConnection correspondienta a la URL.

Veamos un ejemplo:



java
  1. public void doPost(String direccion){
  2.   OutputStreamWriter writer = null;
  3.   BufferedReader reader = null;
  4.   try {
  5.     // codificación de los parámetros de la consulta
  6.       String datos = URLEncoder.encode("llave", "UTF-8")+
  7.                         "="+URLEncoder.encode("valor", "UTF-8");
  8.       datos += "&"+URLEncoder.encode("otraLlave", "UTF-8")+
  9.                         "=" + URLEncoder.encode("otraLlave", "UTF-8");
  10.  
  11.       // creación de la conexión
  12.       URL url = new URL(direccion);
  13.       URLConnection conn = url.openConnection();
  14.       conn.setDoOutput(true);
  15.  
  16.       // envÃo de la consulta
  17.       writer = new OutputStreamWriter(conn.getOutputStream());
  18.       writer.write(datos);
  19.       writer.flush();
  20.  
  21.       // lectura de la respuesta
  22.       reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
  23.       String linea;
  24.       while ((linea = reader.readLine()) != null) {
  25.         System.out.println(linea);
  26.       }
  27.   }catch (Exception e) {
  28.       e.printStackTrace();
  29.   }finally{
  30.       try{writer.close();}catch(Exception e){}
  31.       try{reader.close();}catch(Exception e){}
  32.   }
  33. }