Я знаю, что функция CURLINFO_EFFECTIVE_URL
из curl_getinfo()
может получить окончательный перенаправленный URL.
Но когда я попробовал URL-адрес, например 'http://google.com' или' https://en.wikipedia.org/wiki/Redirection', используя cURL и попытался получить CURLINFO_EFFECTIVE_URL
, он все равно вернул исходный URL-адрес ('http://google.com' и 'https://en.wikipedia.org/wiki/Redirection'), не реальный перенаправленный URL-адрес (' https://www.google.com' или 'https://en.wikipedia.org/wiki/Redirect'). (каждый из их кодов статуса HTTP - 307 и 304)
В браузерах, если я наберу 'http://google.com' и' https://en.wikipedia.org/wiki/Redirection',, он автоматически перенаправится в 'https://www.google.com' и' https://en.wikipedia.org/wiki/Redirect'.
Почему CURLINFO_EFFECTIVE_URL
здесь не работает? И как я могу получить окончательный перенаправленный URL?
EDIT
Вот мой PHP-код cURL:
<?php
$url = "https://en.wikipedia.org/wiki/Redirection";
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$data = curl_exec($ch);
$redirected_url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
curl_close($ch);
echo $redirected_url; //It should show the redirected URL.
?>
И я использую 5.4.3 в качестве моей версии PHP. Что-то не так?