Hallo an alle,
ich würde gerne eine Text-Datei auslesen, die auf einem Sever liegt, dessen Verzeichnisse mittels Digest Authentifizierung verschlüsselt sind.
Also in der Parxis wäre das wie folgt aufgebaut:
www.tj87.de/root/Test.txt
User: tester
PW: 123456
im Verzeichnis root liegt auch die .htaccess-Datei.
Von einem Freund habe ich folgenden Java-Code bekommen, der mir den Inhalt der .txt-Datei in einen String schreibt:
Wäre die Digest Authentifizierung nicht, würde es ganze auch problemlos laufen, aber mit Digest Authentifizierung bekomme ich folgende Fehlermeldung:
Auch wenn ich die Zeile "String s = "GET " + "http://tester:123456@www.tj87.de/root/Test.txt"+" in "" umwandelt, wird das leider nicht akzeptiert
Gibt es eine Möglichkeit den den Text der .txt-Datei in einen String zu holen, ohne die Digest Authentifizierung aufzulösen? Wäre schön, wenn mir jemand helfen könnte...
ich würde gerne eine Text-Datei auslesen, die auf einem Sever liegt, dessen Verzeichnisse mittels Digest Authentifizierung verschlüsselt sind.
Also in der Parxis wäre das wie folgt aufgebaut:
www.tj87.de/root/Test.txt
User: tester
PW: 123456
im Verzeichnis root liegt auch die .htaccess-Datei.
Von einem Freund habe ich folgenden Java-Code bekommen, der mir den Inhalt der .txt-Datei in einen String schreibt:
Code:
Socket sock = new Socket("www.tj87.de", 80);
OutputStream out = sock.getOutputStream();
InputStream in = sock.getInputStream();
// GET-Kommando senden
String s = "GET " + "http://www.tj87.de/root/Test.txt"+
" HTTP/1.1"+"\r\n"+
"Host: www.tj87.de"+"\r\n"+
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3"+"\r\n"+
"Referer: http://www.tj87.de/\r\n"+
"Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5"+"\r\n"+
"Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3"+"\r\n"+
"Accept-Encoding: gzip,deflate"+"\r\n"+
"Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7"+"\r\n"+
"Connection: close\r\n\r\n";
out.write(s.getBytes());
// Ausgabe lesen und anzeigen
int len;
byte[] b = new byte[100];
char skipbit;
char[] skipbits = new char[4];
do{
skipbit = (char)in.read();
skipbits[0]=skipbits[1];
skipbits[1]=skipbits[2];
skipbits[2]=skipbits[3];
skipbits[3]=skipbit;
}while(!"\r\n\r\n".equals(String.valueOf(skipbits)));
String daten = "";
while ((len = in.read(b)) != -1) {
String zwischenSpeicher = new String(b,0,len);
daten = daten + zwischenSpeicher;
}
// Programm beenden
in.close();
out.close();
sock.close();
b=null;
System.out.println(daten);
<html><head>
<title>401 Authorization Required</title>
</head><body>
<h1>Authorization Required</h1>
<p>This server could not verify that you
are authorized to access the document
requested. Either you supplied the wrong
credentials (e.g., bad password), or your
browser doesn't understand how to supply
the credentials required.</p>
</body></html>
Auch wenn ich die Zeile "String s = "GET " + "http://tester:123456@www.tj87.de/root/Test.txt"+" in "" umwandelt, wird das leider nicht akzeptiert
Gibt es eine Möglichkeit den den Text der .txt-Datei in einen String zu holen, ohne die Digest Authentifizierung aufzulösen? Wäre schön, wenn mir jemand helfen könnte...
Zuletzt bearbeitet: