Accesso a una pagina web protetta da password con Java comporta la creazione di una sottoclasse ( classe figlia titolo originale) della classe Authenticator di Java , che fornisce servizi di accesso web . La sottoclasse deve solo contenere la funzione di membro getPasswordAuthentication , che fornisce l'ID utente e la password di coppia necessaria per il login. Tale metodo viene chiamato automaticamente quando un URL protetto da password viene chiamato dal metodo OpenStream dell'oggetto URL. Istruzioni
1
un IDE Java ( ambiente di sviluppo integrato) , come NetBeans o Eclipse , creare un nuovo progetto con un file sorgente in un pacchetto denominato " URLReader . "
Incollare il seguente codice di programma nel file di origine :
//////////////////////////////package URLReader ;
.
import java.net * ; import java.io. *;
//- sottoclasse Authenticator //- in main () , chiamare il metodo statico auth'setDefault ( sottoclasse ) //- in getPasswordAuthentication della sottoclasse , restituire l' oggetto PassAuthentication
public class URLReader {private myAuth obMyAuth ;
pubblico URLReader ( ) { obMyAuth = new myAuth (); Authenticator.setDefault ( obMyAuth );} < br >
public static void main (String [] args ) throws Exception {
URLReader ob = new URLReader ( ) ;
//aprire l'URL cui contenuto ci leggeremo inBufURL SECUREURL = new URL ( " http://www.PASSWORD_PROTECTED_URL.com/PROTECTED_PAGE.htm " ) ; BufferedReader inbuf = new BufferedReader ( new InputStreamReader ( secureURL.openStream ( ))) ; String strContent ;/* file di output inish andrà qui * /while ( ( strContent = inBuf.readLine ( ) ) = null ! ) System.out.println ( strContent ) ;
inBuf.close ( ) ;/* codice del file di output finirà qui * /} //fine principale
myAuth public class estende Authenticator {
@ Overrideprotected getPasswordAuthentication PasswordAuthentication ( ) {
sUsername String = " ENTER_YOUR_USERNAME " ; String sPword = " ENTER_YOUR_PASSWORD " ; PasswordAuthentication obPassword = new PasswordAuthentication ( sUsername , sPword.toCharArray ()); tornare obPassword ; }
} //myAuth sottoclasse
} //URL lettore classe
/////////////////////////////
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 coppia username /password del vostro progetto e URL protetta
3
compilare ed eseguire il progetto e notare la finestra di output di ambiente di debug del vostro IDE : contiene il contenuto dell'URL specificato
4
Sostituire il codice che scrive il contenuto della pagina web alla console , con il codice che restituisce il contenuto di un file: . tra il i commenti che iniziano con "file out" nel codice del programma precedente , sovrascrivere il codice esistente con il seguente :
BufferedWriter outWriter = new BufferedWriter ( nuovo FileWriter ( " content.html ")); while ( ( strContent = inbuf . readline ( ) ) ! =
5
Ricostruire ed eseguire il progetto , quindi controllare la cartella del progetto per un file chiamato " content.htm . " Fare doppio clic sul file per caricarlo nel tuo browser.