2017-06-20 151 views
0
function get_redirect_final_target($url) 
{ 
    $ch = curl_init($url); 
    curl_setopt($ch, CURLOPT_NOBODY, 1); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // follow redirects 
    curl_setopt($ch, CURLOPT_AUTOREFERER, 1); // set referer on redirect 
    curl_exec($ch); 
    $target = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL); 
    curl_close($ch); 
    if ($target) 
     return $target; 
    return false; 
} 

我原來的鏈接PHP重定向URL

$url = "http://www.mylink"; 

呼應重定向連接,但它會呼應了相同的鏈接,因爲它無法檢測到任何重定向頭。但我的鏈接將有一個302重定向。

echo get_redirect_final_target($url); 

使用其它正常重定向鏈接的工作,但我的鏈接進行重定向,但不能獲得頭位置鏈接。 任何幫助極大appreaciated!

+0

是'get_redirect_target'正確的應該不會是'get_redirect_final_target'? –

+0

使用'curl_error()',你會得到一個SSL錯誤 –

+0

我只是想念一個字,但它有同樣的問題。你可以檢查我的原始網址,它會重定向到一個視頻。但腳本無法檢測重定向。 – Wendy

回答

0

只需使用get_headers PHP函數,看看你得到200或302

+0

在Firefox插件HTTP活標題測試的URL,原始網址將有 HTTP/2.0 302找到了# 和重定向的網址將有 HTTP/2.0 200 OK' – Wendy

+1

這是正常的..你得到302每個重定向,然後在最終的真實網頁上,你會得到200。 – Yedidia