URL.openStream() und htaccess

Status
Nicht offen für weitere Antworten.
J

Janis

Gast
Hallo Leute,

ich versuche über einen InputStream eine Bilddatei von meinem htaccess-geschützen Server zu kopieren (soll ein automatischer Downloader für Bilder-Gallerien werden). Dazu lege ich ein Objekt der Klasse URL an:

Code:
URL src = new URL("http://Login:Passwort@123.345.678.901/Bilder/Bild 1.jpg");

Anschließend öffne ich mit

Code:
InputStream in = src.openStream();

eine Stream und kopiere die Datei Stück für Stück. Das klappt ohne htacces (ohne Login:passort@ auf einem nicht gesicherten Server) auch wunderbar, aber mit erhalte ich immer die IOException

Code:
"Server returned HTTP response code 401 for URL: [url]http://Login:Passwort@123.345.678.901/Bilder/Bild[/url] 1.jpg"

Der Login und das Passwort stimmen, da ich das Bild im Browser mit der URL (copy-paste) problemlos aufrufen kann.

Ich habe es auch schon mal über eine URLConnection nach Artikel http://www.java-forum.org/de/viewtopic.php?t=20248&highlight=htaccess versucht - klappt ohne htaccess auch super, aber mit ist das Bild nur 1 kB statt 37 kB groß und lässt sich (natürlich) nicht öffnen.

Hat jemand ne Idee? Gehe ich es total falsch an? Vielen Dank für Eure Hilfe!

Mit freundlichen Grüßen

Janis
 

thE_29

Top Contributor
Also das hier klappt bei mir..


Code:
  public void urltest() throws Exception
  {
    String url ="http://www.addresse.at/file.gif";
    URL url1 = new URL (url);
    URLConnection con = url1.openConnection();
    con.setRequestProperty("Authorization", "Basic "+new sun.misc.BASE64Encoder().encode ("user:password".getBytes())); 
    InputStream in = con.getInputStream();
    OutputStream out = new FileOutputStream("C:\\file_copy.gif");
    byte buf[] = new byte[1024];
    int x = 0;
    while ( ( x = in.read(buf,0,buf.length) ) != -1)
    {
      out.write(buf,0,x);
    }
    in.close();
    out.close();
  }
 
J

Janis

Gast
Vielen Dank für die schnelle Antwort! Ich werde es auf jeden Fall nochmal ausprobieren...
 
J

Janis

Gast
Hallo thE_29,

ich bin keieder erst heute dazu gekommen, an meinem kleinen Projekt weiterzuarbeiten. Dein Vorschlag hat wunderbar funktioniert. Ich weiß nicht so genau, was ich falsch gemacht habe, aber hauptsache, es läuft! Danke nochmal...
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben