Sería un login mediante POST a una web con cookies. Te pego el código que tengo hecho. Mi objetivo sería hacer login en la página, obtener las cookies, luego moverme a la zona de descargas, y finalmente bajarme el archivo. Muchas gracias por la ayuda.
Código PHP:
URL login = new URL("...");
URL descargas = new URL("...");
URL documento new URL("...");
//La cadena que se utiliza para hacer la peticion
String data_post = "nombre_usuario=prueba&clave=1234&otro_dato=...";
//Me conecto con la pagina de login
HttpURLConnection conn = (HttpURLConnection)login.openConnection();
conn.setDoOutput(true); //para las cookies
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data_post);
wr.close();
conn.connect();
//Voy hacia la pagina de descargas
HttpURLConnection connDescargas = (HttpURLConnection)descargas.openConnection();
connDescargas.connect();
//Intento bajarme el archivo
HttpURLConnection connBajarArchivo = (HttpURLConnection)documento.openConnection();
connBajarArchivo.connect();
BufferedInputStream in = new BufferedInputStream(conexionConsumo.getInputStream());
File saveFile = new File("mi_archivo.txt");
OutputStream out = new BufferedOutputStream(new FileOutputStream(saveFile));
byte[] buf = new byte[256];
int n = 0;
while ((n=in.read(buf))>=0) {
out.write(buf, 0, n);
}
out.flush();
out.close();