Ciao a tutti, son nuovo nel forum e arrivo già a chiedere aiuto
Sto cercando di scaricare dei file da un sito.
Ho scritto un programma che fa automaticamente questo lavoro, però ora il sito richiede una registrazione per scaricare i contenuti.
Pensavo di simulare l'invio di una sessione tramite java (utilizzerei quella scaricata sul mio computer dal browser senza andare a fare il login tramite il mio programma e scaricare la nuova sessione da li) ma non so come fare
Vi scrivo un estratto modificato del programma (pulito, senza neanche i tentativi di login), spero mi possiate aiutare o indicare qualche "guida"!
import java.io.*;
import java.net.*;
public class Mprog {
public static void main(String[] args) throws IOException, InterruptedException {
String path="G:/";
String nomeFile="pippo.txt";
String url="www.myurl.it";
if(args.length!=0)
path=args[0];
String userAgent = "Opera/9.63 (Windows NT 5.1; U; en) Presto/2.1.1";
BufferedReader fBR = new BufferedReader(new FileReader(file));
//DOWNLOAD
try {
System.out.println("Downloading \""+nomeFile+"\" ...");
downloadFromUrl(new URL(url), nomeFile, userAgent, path);
System.out.println("OK");
System.out.println("- Scaricato "+nomeFile);
} catch (Exception e) {
System.out.println("Nessun file trovato");
}
}
public static void downloadFromUrl(URL url, String localFilename, String userAgent, String path)
throws IOException {
InputStream is = null;
FileOutputStream fos = null;
try {
URLConnection urlConn = url.openConnection();
if (userAgent != null) {
urlConn.setRequestProperty("User-Agent", userAgent);
}
is = urlConn.getInputStream();
fos = new FileOutputStream(path+localFilename);
byte[] buffer = new byte[4096];
int len;
while ((len = is.read(buffer)) > 0) {
fos.write(buffer, 0, len);
}
} finally {
try {
if (is != null) {
is.close();
}
} finally {
if (fos != null) {
fos.close();
}
}
}
}
}
Grazie mille