download zip von einer url

jabaduu

Bekanntes Mitglied
Hi,
das downloaden von Dateien von einer URL klappt.
Nun habe ich dieses Problem, ich habe keinen direkten link zum downloaden der Datei.
Die Website ist so aufgebaut
https://einewebsite/text1/text2/htm

Auf dieser Website sind Excel Dateien aufgelistet, die man anklicken und downloaden kann.
Wenn ich mit der Maus über so eine Excel Datei gehe, dann sehe so einen link:
https://einewebsite/files/dieDateidieichmoechte.zip

Ich habe das so versucht:
Java:
public static void download() throws MalformedURLException
{
        URL url;
        try 
        {
            url = new URL("http://www.cftc.gov/files/dea/history/dea_fut_xls_1986_2016.zip");
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            InputStream in = connection.getInputStream();
            FileOutputStream out = new FileOutputStream("download.zip");
            copy(in, out, 1024);
            out.close();
        }        
        catch (IOException e) {e.printStackTrace();}       
}

public static void copy(InputStream input, OutputStream output, int bufferSize) throws IOException
{
         byte[] buf = new byte[bufferSize];
         int n = input.read(buf);
         while (n >= 0) {
            output.write(buf, 0, n);
            n = input.read(buf);
        }
       output.flush();
}

Aber dann bekomme ich eine leere Datei.
Wie kann ich denn an diese Datei kommen? Wäre dankbar für einen Hinweis.
 
Zuletzt bearbeitet:
Manuell downloaden = anklicken und downloaden, ohne Code.
Aber da ich alle einige dieser Dateien wöchentlich downloade, würde ich es gern durch ein Programm machen.
 
Von welcher Seite lädst Du sie denn runter?

Ansonsten: Du kannst auf die Seite gehen, im Browser die Entwicklertools aufmachen, den Netzwerk-Tab auswählen und dann den Download starten. Dann kannst Du Dir den Request im Detail ansehen und ggf. nachbauen.
 
Von welcher Seite ich runterlade - ich dachte ich dass es die Seite ist, die ich im Code verwendet habe, aber das funktionierte ja nicht. (Obwohl diese Seite im Browser angezeigt wird beim downloaden per Mausklick)
Bedeutet das, dass die Dateien in Wirklichkeit wo anders sind?

Ok Danke, ich werde das so ausprobieren, den Request im Detail anschauen und hoffentlich nachbauen.
 
Du schreibst, dass Du wöchentlich manuell die Dateien herunterlädst. Ich gehe davon aus, dass Du im Browser eine Seite öffnest und dort einen Link anklickst, der dann den Download der Datei startet. Die Frage ist, welche Seite das ist.

Die URL im Code verweist auf eine ZIP-Datei und nicht auf eine HTML-Seite mit Download-Links.
 

Zurück
Oben