Я получаю доступ к URL, который отправляет перенаправление 301 в местоположение на том же сервере.См. Вывод curl ниже
curl -I https://www.dropbox.com/<somedir>/test_out4.mp4
HTTP/1.1 301 Moved Permanently
Location: /s/raw/<someotherdir>/test_out4.mp4 <<< different path in same host
Когда я пытаюсь получить доступ к этому URL в Java с помощью Apache HttpComponents и отключить перенаправление, оно всегда следует за перенаправлениями.Я не получаю 301, вместо 200.
public static void main(String[] args) throws IOException, URISyntaxException {
HttpHead request = new HttpHead(new URI(SAMPLE_URL));
HttpClient client = HttpClients.custom().disableRedirectHandling().build();
HttpResponse response = client.execute(request);
System.out.println(response.getStatusLine());
DefaultHttpClient instance = new DefaultHttpClient();
HttpParams params = new BasicHttpParams();
params.setParameter(ClientPNames.HANDLE_REDIRECTS, false);
request.setParams(params);
response = instance.execute(request);
System.out.println(response.getStatusLine());
}
Оба метода до 4.3 и 4.3 не работают.
HTTP / 1.1 200 OK <<< disableRedirectHandling () завершается ошибкой </p>
HTTP / 1.1 200 OK <<< ClientPNames.HANDLE_REDIRECTS, false) завершается ошибкой </p>
Как отключить все перенаправления, даже внутри локального хоста?