Как получить реальный окончательный перенаправленный URL с помощью PHP или cURL? - PullRequest
0 голосов
/ 12 января 2019

Я знаю, что функция 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. Что-то не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...