December 23
Registrazione su una pagina web protetta da password con Java comporta la creazione di una sottoclasse (AKA classe figlia) della classe Authenticator di Java, che fornisce servizi di web login. La sottoclasse deve contenere solo la funzione di membro getPasswordAuthentication, che fornisce la coppia ID utente e la password necessari per l'accesso. Questo metodo verrà chiamato automaticamente quando un URL protetto da password viene chiamato con il metodo Openstream dell'oggetto URL.
1 In un IDE Java (ambiente di sviluppo integrato), come NetBeans o Eclipse, creare un nuovo progetto con un file sorgente in un pacchetto chiamato \ "URLReader. \"
Incollare il seguente codice di programma nel file di origine:
//////////////////////////////
pacchetto URLReader
ANDARE
import java.net.
ANDARE
import java.io.
ANDARE
// - Authenticator sottoclasse
// - In main (), chiamare il metodo auth'setDefault statico (sottoclasse)
// - In getPasswordAuthentication della sottoclasse, restituire l'oggetto PassAuthentication
public class URLReader {
private myAuth obMyAuth
ANDARE
public URLReader() {
obMyAuth = new myAuth()
ANDARE
Authenticator.setDefault(obMyAuth)
ANDARE
}
void main (String [] args) public static genera un'eccezione {
URLReader ob = new URLReader ()
ANDARE
//open the URL whose content we'll read inBuf
URL SECUREURL = new URL (\ "http://www.PASSWORD_PROTECTED_URL.com/PROTECTED_PAGE.htm\")
ANDARE
BufferedReader inBuf = new BufferedReader (
nuova InputStreamReader (
secureURL.openStream ()))
ANDARE
String strContent
ANDARE
File / uscita inish andrà qui /
while ((strContent = inBuf.readLine ())! = null)
System.out.println (strContent)
ANDARE
inBuf.close ()
ANDARE
Codice del file / output finirà qui /
}// end of main
public class myAuth estende Authenticator {
@Override
protetto PasswordAuthentication getPasswordAuthentication () {
String sUsername = \ & quot; ENTER_YOUR_USERNAME \ & quot;
ANDARE
String sPword = \"ENTER_YOUR_PASSWORD\"
ANDARE
PasswordAuthentication obPassword = new PasswordAuthentication(sUsername, sPword.toCharArray())
ANDARE
return obPassword
ANDARE
}
} // Sottoclasse myAuth
} // Class lettore URL
/////////////////////////////
2 Modificare il codice sorgente per contenere le stringhe relative al progetto: sostituire il codice sorgente contenente lettere maiuscole - ENTER_YOUR_USERNAME, ENTER_YOUR_PASSWORD, PASSWORD_PROTECTED_URL - con la coppia username / password del progetto e l'URL protetto.
3 Compilare ed eseguire il progetto e notare la finestra di output di ambiente di debug del vostro IDE: contiene il contenuto della URL specificato.
4 Sostituire il codice che scrive il contenuto della pagina web alla console, con il codice che genera il contenuto di un file: tra i commenti che iniziano con \ "file \ out" nel codice del programma precedente, sovrascrivere il codice esistente con il seguente:
BufferedWriter outWriter = new BufferedWriter (nuova FileWriter (\ "content.html \"))
ANDARE
while ((strContent = inBuf.readLine ())! = null)
//System.out.println(strContent)
ANDARE
outWriter.write(strContent)
ANDARE
inBuf.close ()
ANDARE
outWriter.close();
5 Ricostruire ed eseguire il progetto, quindi controllare la cartella del progetto per un file chiamato \ "content.htm. \" Fare doppio clic sul file da caricare nel browser.