Ciao a tutti, questa classe dovrebbe leggere l'html di una pagina internet.
La classe funziona se alla pagina è possibile accedere senza autenticazione, ma in questo caso devo far inserire le credenziali (simulando l'accesso via borwser con la classeica finestrella user e password), come posso fare?
Il codice sotto è quello funzionante senza autentucazione.
Come posso modificarlo?
Grazie.
import java.io.*;
import java.net.*;
public class Socket {
private String strURL;
public Socket(String strURL) {
this.strURL = strURL;
}
public String getHTML () {
StringBuffer document = new StringBuffer();
try {
URL url = new URL(strURL);
URLConnection conn = url.openConnection();
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line = null;
while ((line = reader.readLine()) != null)
document.append(line + "\n");
reader.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return document.toString();
}
public static void main(String[] args) {
Socket client = new Socket("http://www.dominio.it/pagina.html");
String webPage = client.getHTML();
try {
FileWriter out = new FileWriter ("pagina.html");
out.write(webPage);
out.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}