Herunterladen Sie einen Teil einer Datei mithilfe von HTTP-Anfragen

Ich versuche, laden Sie einen Teil einer PDF-Datei (nur für Testzwecke "Range" - header). Ich ersuchte die server für die bytes (0-24) in Reichweite, aber immer noch, anstatt sich den ersten 25 bytes (ein Teil) aus dem Inhalt, ich bin immer die volle Länge Inhalte. Außerdem, anstatt sich-response-code als 206 (partial content), ich bin immer in der response-code 200.

Hier ist mein code:

public static void main(String a[]) {
    try {
        URL url = new URL("http://download.oracle.com/otn-pub/java/jdk/7u21-b11/jdk-7u21-windows-x64.exe?AuthParam=1372502269_599691fc0025a1f2da7723b644f44ece");
        HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
        urlConnection.setRequestProperty("Range", "Bytes=0-24");
        urlConnection.connect();

        System.out.println("Respnse Code: " + urlConnection.getResponseCode());
        System.out.println("Content-Length: " + urlConnection.getContentLengthLong());

        InputStream inputStream = urlConnection.getInputStream();
        long size = 0;

        while(inputStream.read() != -1 )
            size++;

        System.out.println("Downloaded Size: " + size);

    }catch(MalformedURLException mue) {
        mue.printStackTrace();
    }catch(IOException ioe) {
        ioe.printStackTrace();
    }
}

Hier ist die Ausgabe:


Respnse Code: 200
Content-Length: 94973848
Downloaded Size: 94973848

Vielen Dank im Voraus.

  • Können Sie überprüfen, ob das Programm heruntergeladen werden können, reicht tatsächlich herunterladen einer Reihe? (starten Sie wget, Strg+C ' Ing es, und starten Sie es erneut) Einige Server kann den Antrag ablehnen, wie Sie ist.
InformationsquelleAutor Jeffry Young | 2013-07-14
Schreibe einen Kommentar