# java + htaccess ?



## Frankster (10. Oktober 2005)

Hi!

Gibts eine Möglichkeit den Usernamen und PW per JAVA an eine htaccess - Seite mitzuschicken ?

Mfg
Frankster


----------



## Thomas Darimont (10. Oktober 2005)

Hallo!

 Suchst du sowas?

```
/**
  * 
  */
 package de.tutorials;
 
 import java.io.BufferedReader;
 import java.io.InputStreamReader;
 import java.net.Authenticator;
 import java.net.PasswordAuthentication;
 import java.net.URL;
 
 /**
  * @author daritho
  *
  */
 public class HttpBasicAuthenticationExample {
 
 	/**
 	 * @param args
 	 */
 	public static void main(String[] args) throws Exception {
 	
 		Authenticator.setDefault(new Authenticator(){
 			protected PasswordAuthentication getPasswordAuthentication() {
 		    	return new PasswordAuthentication("USERNAME","PASSWORD".toCharArray());
 			}
 		});
 		
 		URL url = new URL("http://www.somewhere.com/secured_area");
 		BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
 		String line = null;
 		while((line = br.readLine())!= null){
 			System.out.println(line);
 		}
 		br.close();
 
 	}
 
 }
```
 
 Gruss Tom


----------



## Frankster (10. Oktober 2005)

Ich danke vielmals:

Sag ich hab auch eine Lösung gefunden, der verwendet den BASE Encoder
Ich bin leider noch nicht so gut in JAVA.
Sind beide Lösungen gleichwertig ?


```
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;

public class Auth{

  public Auth() {
   }

  private void fetchURL (String urlString) {
    try {
       URL url = new URL (urlString);

       String userPassword = getPasswordAuthentication();

      // Encode String
       String encoding = new sun.misc.BASE64Encoder().encode (userPassword.getBytes());

      // Need to work with URLConnection to set request property
       URLConnection uc = url.openConnection();
       uc.setRequestProperty  ("Authorization", "Basic " + encoding);
       InputStream content = (InputStream)uc.getInputStream();
       BufferedReader in = new BufferedReader (new InputStreamReader (content));
       
       String line;
       while ((line = in.readLine()) != null) {
         System.out.println(line);
       }
     } catch (MalformedURLException e) {
       e.printStackTrace();
     } catch (IOException e) {
       e.printStackTrace();
     }
   }
   
   String getPasswordAuthentication() {
       return "Username:pw";
     }


  public static void main (String args[]) {
  	Auth x = new Auth();
  	x.fetchURL("http://www.xzy.at");
   }
}
```


----------



## Thomas Darimont (12. Oktober 2005)

Hallo!

 Scheinbar machen beide Implementierungen das gleiche, jedoch finde ich den die Variante mit dem Authenticator etwas Benutzerfreundlicher ;-)

 Gruß Tom


----------

