@zkrvndm
Софт для автоматизации

Как узнать конечный адрес в cURL, если сайт выполнил множество 302 переадресаций?

У меня включена опция:
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);

Как узнать конечный адрес, если целевой сайт отфутболил меня куда-то непонятно куда?

Как я уже пробовал решить проблему
Пробовал записывать все заголовки всех ответов через:
curl_setopt($curl, CURLOPT_HEADERFUNCTION, 'headersHandler');

Вроде и получается так определить адрес переадресации, но как-то это тупо, да и очень неудобно потом перебирать заголовки и искать там самый последний заголовок Location. Может есть способы попроще?
  • Вопрос задан
  • 278 просмотров
Решения вопроса 1
Spartak-2205
@Spartak-2205
Разработка и создание сайтов
https://www.php.net/manual/ru/function.curl-getinfo.php
Используйте опцию CURLINFO_EFFECTIVE_URL

$url = 'http://test.com';  //you url 
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$result = curl_exec($ch);
$endUrl = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
24 апр. 2024, в 19:18
50000 руб./за проект
24 апр. 2024, в 19:05
15000 руб./за проект
24 апр. 2024, в 18:39
80000 руб./за проект