# Passwortgeschützte Homepage auslesen



## Hobbyprogger (1. Mai 2015)

Hallo zusammen,

Ich suche nach einer Möglichkeit, passwortgeschützte Websites auszulesen. (Es geht mir nicht darum, den Passwortschutz zu umgehen, sondern darum, die Benutzerdaten über Java eingeben zu können)
Das "normale" Auslesen von Website-Quellcodes sieht bei mir wie folgt aus:


```
InputStream is = null; 		    try 
		    { 
		      URL url = new URL( "http://www.website.de" ); 
		      is = url.openStream(); 
		      System.out.println( new Scanner(is).useDelimiter("//html//").next() ); 
		    } 
		    catch ( Exception e ) { 
		      e.printStackTrace(); 
		    } 
		    finally { 
		      if ( is != null ) 
		        try { is.close(); } catch ( IOException e ) { } 
		    }
```
Nun möchte ich eine Homepage mit Passwortschutz auslesen. Kann man die Benutzerdaten möglicherweise in die URL mit einbinden? Oder benötige ich dafür einen eigenen Operator?
Danke schon mal im Voraus!


----------



## Thallius (1. Mai 2015)

Wie soll das gehen? Du must dich erstmal auf der Seite anmelden damit du sie auslesen kannst. Die Login-Seite auszulesen wird dir wohl kaum was bringen...

Keine Ahnung was das Ergebnis Deiner Bemühungen sein soll aber für mich klingt das echt sinnfrei.


----------



## Hobbyprogger (1. Mai 2015)

Man muss sich dabei nicht richtig in einem Login anmelden, es ist vielmehr eine Seite, bei der beim Öffnen ein Pop-Up-Fenster von Windows kommt. Man muss doch irgendwie das Passwort übergeben können?


----------



## InfectedBytes (1. Mai 2015)

Ich glaube du hast das Problem nicht verstanden. Mir scheint er möchte eben einfach auf den Inhalt einer Seite zugreifen, welche durch ein login geschützt ist. 

Und nun zum eigentlichen Problem:
Im Grunde musst du das gleiche machen, was ein Browser tun würde. 
Dieser schickt eine POST-request (wie sie im entsprechenden form tag zu finden ist) mit name und passwort des nutzers an den server, dieser verarbeitet die anfrage und loggt dich ein. 
Schau dir dazu am besten einfach mal HttpURLConnection und PostRequest an.


----------



## Hobbyprogger (1. Mai 2015)

Danke, das ist mal eine vernünftige Antwort  Jedoch weiß ich noch nicht so ganz, wie ich das in meinen Code mit einbinden soll. Kannst du mir da noch einen Denkanstoß geben?


----------



## Dompteur (1. Mai 2015)

Ich bin mir jetzt nicht sicher, ob ich dein Problem verstanden habe. Aber wenn die Seite Basic Authentification implementiert, dann findest du hier einen Lösungsweg: Rheinwerk Computing :: Java ist auch eine Insel – 21.3 Die Klasse URLConnection * - Kapitel 21.3.5


----------



## Hobbyprogger (1. Mai 2015)

Hat funktioniert, Dankeschön!  hier ist meine Lösung:

```
Authenticator.setDefault(new Authenticator() {
			protected PasswordAuthentication getPasswordAuthentication() {				
				return new PasswordAuthentication("Benutzer", "Passwort".toCharArray());
			}
		});


		URL url = new URL(
				"[Seiten-URL]");
		Quellcode = new Scanner(url.openStream()).useDelimiter("\\Z").next();
```


----------

