Ich habe jemanden gesehen, der gefragt hat, ob eine URL von groovy und perl weiterleitet, aber nichts über PHP findet.Wie kann ich feststellen, ob eine URL in PHP umgeleitet wird?
Wer weiß irgendwo wo ich den Code finden könnte, der das tut?
Ich habe jemanden gesehen, der gefragt hat, ob eine URL von groovy und perl weiterleitet, aber nichts über PHP findet.Wie kann ich feststellen, ob eine URL in PHP umgeleitet wird?
Wer weiß irgendwo wo ich den Code finden könnte, der das tut?
Eigentlich fand ich das am besten funktioniert:
function GetURL($URL)
{
$ch = curl_init($URL);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_exec($ch);
$code = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
curl_close($ch);
return $code;
}
$ch = curl_init('http://www.yahoo.com/');
curl_exec($ch);
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if (($code == 301) || ($code == 302)) {
//This was a redirect
}
Erinnern, dass keine der Antworten, die in der Regel für diese Frage zu berücksichtigen Umleitung von Javascript innerhalb des zurückgegebenen Dokument verschlüsselt verursacht nehmen gegeben werden (oder Ich denke, ein Meta-Refresh-Tag in der HTML.) Also ist es möglich, dass, egal was Sie bestimmte Arten von "Weiterleitungen" beim Testen mit dieser Art von Code verpassen werden.
Leider ist der einzige Weg, um dies zu erreichen, ein tatsächlicher Web-Browser die Webseite zu treffen, und den Web-Browser so zu modifizieren, dass er Javascript und Meta-Refresh-Weiterleitungen meldet.
Prost!
Eigentlich könnte man die Javascript-Engine verwenden, die Mozilla hat, obwohl ich mich im Moment nicht an seinen Namen erinnern kann. Aber ja, du hast recht, in dieser Locke würde JavaScript Umleitung nicht fangen. – GeoffreyF67
Cool - Gibt es eine Möglichkeit zu sagen, wohin es umleiten möchte? – GeoffreyF67
Probieren Sie normales cURL aus ... es sollte Sie dorthin führen, wohin Sie wollen. – alex
Gute Antwort, die fast alle möglichen Fälle abdecken sollte. Ich glaube, dass 303 und 307 Weiterleitungen auch bilden, obwohl sie weit weniger häufig sind - ich habe sie nur in spec docs, nicht in der realen Welt verwendet. –