程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> filesize-如何判斷服務器端是否支持文件的分段下載

filesize-如何判斷服務器端是否支持文件的分段下載

編輯:編程綜合問答
如何判斷服務器端是否支持文件的分段下載

[code=java]
HttpGet httpGet=new HttpGet(downloadUrl);
HttpClient httpClient=new DefaultHttpClient();
HttpResponse httpResponse=httpClient.execute(httpGet);
if(httpResponse.getStatusLine().getStatusCode()==200){
HttpEntity entity=httpResponse.getEntity();
fileSize=(int)entity.getContentLength();
}

[/code]
可以獲取文件的大小。
才能判斷服務器是否支持文件的分段下載嗎?

最佳回答:


## 上面的二位都給我了提示,解析http響應報文的結構

1.使用connection進行讀取字節范圍的設置:

URLConnection conn = downloadUrl.openConnection();
        conn.setAllowUserInteraction(true);
        conn.setRequestProperty("Range", "bytes=" + startPos + "-" + endPos);
        System.out.println(Thread.currentThread().getName() + "  bytes="
                + startPos + "-" + endPos);

2.然後判斷返回的http響應頭的accept-ranges字段:

String messageString = conn.getHeaderField("Accept-Ranges");
if (!messageString.equals("bytes")) {
System.out.println("--------this server doesn't support ");
} else {
System.out.println("--------this server support");
}
注意一點,在用戶沒有設置conn.setRequestProperty("Range", "bytes=" + startPos + "-" + endPos);
System.out.println(Thread.currentThread().getName() + " bytes="
+ startPos + "-" + endPos);的時候,都會返回bytes;


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved