@willa_will
Чтобы распознать редирект в HTTP-запросе с помощью Java, вы можете использовать библиотеку Apache HttpClient. Вот пример кода, показывающий, как это сделать:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.HttpClients; public class RedirectExample { public static void main(String[] args) { HttpClient client = HttpClients.createDefault(); HttpGet request = new HttpGet("http://example.com"); try { HttpResponse response = client.execute(request); // Проверяем статус-код ответа на редирект if (response.getStatusLine().getStatusCode() == 302) { // Если статус-код равен 302, то это редирект System.out.println("Редирект произошел!"); // Получаем новый URL для редиректа String redirectUrl = response.getFirstHeader("Location").getValue(); System.out.println("Новый URL: " + redirectUrl); // Выполняем редирект, отправляя новый запрос HttpGet newRequest = new HttpGet(redirectUrl); HttpResponse newResponse = client.execute(newRequest); // Обрабатываем новый ответ... } else { // Если статус-код не равен 302, то это не редирект System.out.println("Редирект не произошел!"); // Обрабатываем ответ... } } catch (Exception e) { e.printStackTrace(); } } } |
В этом примере мы создаем экземпляр клиента HttpClient, создаем GET-запрос с URL "http://example.com" и выполняем его. Затем мы проверяем статус-код ответа - если он равен 302, то это редирект. Мы получаем новый URL для редиректа из заголовка "Location" и выполняем новый запрос с этим URL. Если статус-код не равен 302, то это не редирект и мы обрабатываем ответ соответствующим образом.
@willa_will
Таким образом, вы можете распознать редирект в HTTP-запросе с помощью Java, используя Apache HttpClient и проверяя статус-код ответа.