URLがPHPでリダイレクトされているかどうかを確認するにはどうすればよいですか?
質問
URLがgroovyとperlからリダイレクトされるかどうかを検出することについて質問する人を見ましたが、PHPで何も見つかりませんでした。
誰でも私がこれを行うコードを見つけることができる場所を知っていますか?
解決 2
実際、これが最も効果的であることがわかりました:
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
}
この質問に対して通常与えられる答えは、返されたドキュメント内でエンコードされたjavascriptによるリダイレクトを考慮していないことを覚えておいてください(またはHTMLのメタ更新タグだと思います)。特定の種類の「リダイレクト」を見逃すことになります。この種のコードを使用してテストする場合。
残念ながら、これを回避する唯一の方法は、実際のWebブラウザにWebページをヒットさせ、JavaScriptとメタリフレッシュリダイレクトを報告するような方法でWebブラウザを変更することです。
乾杯!
所属していません StackOverflow