2017-06-20 11 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; 
} 

meiner ursprünglichen Linkphp get-URL weitergeleitet

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

umgeleitet Link Echo, aber es wird den gleichen Link Echo, da es keine Umleitung Header erkennen kann. aber mein link wird eine 302 redirect haben.

echo get_redirect_final_target($url); 

andere normale Umleitung Link mithilfe funktionieren wird, aber mein Link soll umleiten, aber es kann nicht den Header-Standort Link. Jede Hilfe ist sehr appreciated!

+0

wird die 'get_redirect_target' richtig sollte es nicht sein' get_redirect_final_target'? –

+0

Verwenden Sie 'curl_error()' und Sie erhalten einen SSL-Fehler –

+0

Ich vermisse nur ein Wort, aber es hat das gleiche Problem. Sie können meine ursprüngliche URL überprüfen, es wird zu einem Video umgeleitet. aber das Skript kann die Umleitung nicht erkennen. – Wendy

Antwort

0

einfach get_headers PHP-Funktion verwenden und sehen, ob Sie 200 erhalten oder 302

+0

in Firefox-Addon http Live-Header zum Testen der URL, die ursprüngliche URL wird haben 'HTTP/2.0 302 Found' und die umgeleitete URL wird haben ' HTTP/2.0 200 OK' – Wendy

+1

das ist normal .. Sie erhalten 302 für jeden Redirect, dann auf der finalen Seite bekommst du 200. – Yedidia

Verwandte Themen