package javacodebook.net.url.pwd;

import java.net.*;
import java.io.*;

/**
 * @author benjamin_rusch
 *
 * Dieses Programm stellt das Gerüst für den Aufruf einer Seite im 
 * geschützten Bereich dar. Ändern Sie die Strings login, password
 * und urlString und führen das Programm aus.
 */
 
 class OwnAuthenticator extends Authenticator {
	
	// Login und Paßwort des geschützten Bereichs, muss angepasst 
	// werden
	protected String login = "login";
    protected String password = "pwd";
	
	// URL zum geschützen Bereich, muss angepasst werden
	protected static String urlString = "http://hostname:80/index.html";
	
	// Diese Methode wird aufgerufen, sobald man in einen Paßwort geschützten 
	// Bereich eintritt.
    // Zurückgegeben wird eine Instanz eines PasswordAuthentication-Objekts
    // welches login und Passwort kapselt
    protected PasswordAuthentication getPasswordAuthentication() {
	    return new PasswordAuthentication(login, password.toCharArray());
    }
    
    public static void main(String[] args) throws Exception{
		
		// Der Authenticator des Benutzers wird gesetzt.
		Authenticator.setDefault(new OwnAuthenticator());
    
    	// URL wird instanziiert
    	URL url = new URL(urlString);

	    // Stream der URL wird geöffnet, und an einen BufferedReader weitergereicht
		BufferedReader in = new BufferedReader(
				new InputStreamReader(url.openStream()));
		
		// Resource wird ausgelesen und zeilenweise auf die Konsole 
		// geschrieben
    	String inputLine;
    	while ((inputLine = in.readLine()) != null) {
            System.out.println(inputLine);
    	}
    	in.close();
	}	    
}
 

