Выполняет ли Apache HttpClient запросы GET по-разному по сравнению с java.net.HttpURLConnection?Обработка запросов GET - Apache HttpClient vs java.net.HttpURLConnection
Я попытался сделать запрос GET URL, который возвращает перенаправление, используя оба метода. В то время как код ответа от HttpURLConnection возвращает 302, как и ожидалось, что делает тот же вызов, используя HTTPClient результаты в 200
Ниже мой код:
// Using Apache HttpClient
HttpClient client = HttpClientBuilder.create().setRedirectStrategy(new LaxRedirectStrategy()).build();
HttpGet request = new HttpGet(authUrl);
HttpResponse response = client.execute(request);
int responseCode = response.getStatusLine().getStatusCode(); //Returns 200
// Using java.net.HttpURLConnection
URL obj = new URL(authUrl);
HttpURLConnection conn = (HttpURLConnection) obj.openConnection();
int responseCode = conn.getResponseCode(); //Returns 302
Это мой первый раз, используя Apache HttpClient, так что мой код может быть неправильным.
Спасибо.
Посмотрите на заголовки для «Место» - вы можете получить редирект от этого. 'for (Заголовок заголовка: response.getHeaders (« Местоположение »)) {redirectLink = header.getValue(); } ' – Ascalonian
Я пробовал это. В нем нет заголовка «Местоположение», так как ответ равен 200, а не 302. – drunkenfist