我知道CURLINFO_EFFECTIVE_URL
函数的curl_getinfo()
可以获取最终重定向的URL。
但是,当我使用cURL尝试使用类似“ http://google.com”或“ https://en.wikipedia.org/wiki/Redirection”的URL并尝试获取CURLINFO_EFFECTIVE_URL
时,它仍然返回原始URL(“ {{3} }”和“ http://google.com”),而不是真正的重定向URL(“ https://en.wikipedia.org/wiki/Redirection”或“ https://www.google.com”)。 (它们的每个HTTP状态代码分别是307和304)
在浏览器中,如果我键入“ https://en.wikipedia.org/wiki/Redirect”和“ http://google.com”,它将自动重定向到“ https://en.wikipedia.org/wiki/Redirection”和“ https://www.google.com”。
为什么CURLINFO_EFFECTIVE_URL
在这里不起作用?以及如何获得最终的重定向URL?
编辑
这是我的cURL PHP代码:
<?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版本。有什么问题吗?