Я использую Jetty 9.4 HttpClient, чтобы попытаться перезапустить загрузку большого файла. Я использую сервер Jetty 9.4.
final InputStreamResponseListener listener = new
InputStreamResponseListener();
final Request request = httpClient.newRequest(urlString); request.scheme(getUriScheme(urlString)).method(HttpMethod.GET).version(HttpVersion.HTTP_1_1).send(listener);
if (range > 0){
request.header("Range", "bytes=" + file.length() + "-")
}
final Response response = listener.get(getHttpConnTimeout(), TimeUnit.SECONDS);
// Get content length from response header
contentLength = response.getHeaders().getField(HttpHeader.CONTENT_LENGTH).getLongValue();
if (response.getStatus() == HttpStatus.PARTIAL_CONTENT_206) {
return listener.getInputStream();
}
if (response.getStatus() == HttpStatus.OK_200) {
return listener.getInputStream();
}
Однако, когда я использую реализацию Java, все работает нормально (имеется в виду, что не используется Jetty 9 HttpClient)
if (httpURLConnection != null) {
// This works
httpURLConnection.setRequestProperty("Range", "bytes=" + file.length() + "-");
}
if (httpsURLConnection != null) {
// This works
httpsURLConnection.setRequestProperty("Range", "bytes=" + file.length() + "-");
}
Что такое Я делаю не так? У кого-нибудь есть рабочий пример?