繁体   English   中英

获取最终重定向 URL

[英]Get final redirected URL

这个特定的网址:

https://www.novelupdates.com/extnu/3475538/

重定向至:

https://chrysanthemumgarden.com/novel-tl/dylm/dylm-71/

如何通过 PHP 获取最终重定向的 URL?

到目前为止我尝试过的

这是获取最终 URL 的命令行:

curl -Ls -w %{url_effective} -o /dev/null https://www.novelupdates.com/extnu/3475538/

不适用于此特定 URL

测试了这个的 PHP 版本,仍然没有得到最终的 URL:

$url = 'https://www.novelupdates.com/extnu/3475538/'; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 

// Return follow location true 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); 
$html = curl_exec($ch); 

// Getinfo or redirected URL from effective URL 
$redirectedUrl = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL); 

curl_close($ch); 
echo "Original URL:   " . $url . "<br/>"; 
echo "Redirected URL: " . $redirectedUrl . "<br/>"; 

我有同样的问题。 应用自定义 userAgent 对我有用。 感谢这篇文章: CURLOPT_FOLLOWLOCATION not working

curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
<?php

    $original_url = 'http://www.novelupdates.com/extnu/3475538/';

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $original_url);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");

    $a = curl_exec($ch);
    $url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);

    echo "Old: ${original_url}\n";
    echo "New: ${url}\n";
Old: http://www.novelupdates.com/extnu/3475538/
New: https://chrysanthemumgarden.com/novel-tl/dylm/dylm-64/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM