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