PDF ファイルの一部をダウンロードしようとしています ("Range" ヘッダーをテストするためだけに)。サーバーに範囲内のバイト (0 ~ 24) を要求しましたが、コンテンツから最初の 25 バイト (一部) を取得する代わりに、完全な長さのコンテンツを取得しています。さらに、応答コードを 206 (部分的なコンテンツ) として取得する代わりに、応答コードを 200 として取得しています。
これが私のコードです:
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();
}
}
出力は次のとおりです。
Respnse Code: 200
Content-Length: 94973848
Downloaded Size: 94973848
前もって感謝します。