我正在使用Jetty 9.4 HttpClient尝试重新启动大文件下载。我正在使用Jetty 9.4服务器。
final InputStreamResponseListener listener = new
InputStreamResponseListener(); final Request request =
httpClient.newRequest(urlString); if (range > 0) {
// This does not work
**request.param("Range", "bytes=" + file.length() + "-");**
// This does not work
**request.param("Content-Range", "bytes " + file.length() + "-");** }
request.scheme(getUriScheme(urlString)).method(HttpMethod.GET).version(HttpVersion.HTTP_1_1).send(listener);
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.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() + "-");
}
我做错了什么?有人有可行的例子吗?
是(AFAIU)“ header()”,而不是“ param()”。
而且,“内容范围”不属于请求。