zkrvndm
@zkrvndm
Архитектор решений

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

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

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

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

Вроде и получается так определить адрес переадресации, но как-то это тупо, да и очень неудобно потом перебирать заголовки и искать там самый последний заголовок Location. Может есть способы попроще?
  • Вопрос задан
  • 304 просмотра
Решения вопроса 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);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы