質問: リンク先のURLがアクセスできない状態かどうかの(PHPでの)チェック方法は、検索すればやたら沢山出てくるし、teratail内でも見つける事ができました。(動作も確認) しかし、それが301や302等、転送が絡むとどうしてもうまくいきません。 単純にリンクをクリックした時に、最終的に行き着く場所が意図したもの(aタグで指定したURL)になっているかどうかをチェックしたいのですが、方法はありますでしょうか? ご教授いただければ幸いです。 よろしくお願いいたしますm(__)m
回答: cURLでLocationを追跡して`CURLINFO_EFFECTIVE_URL`を見るのがセオリーです.また,URLをチェックするだけならGETではなくHEADにしたほうがサーバに対する負荷も通信時間も削減できるので,HTTPリクエストメソッドも変更しておきましょう. ``` 'https://twitter.com/re4k', // もとのURL CURLOPT_FOLLOWLOCATION => true, // Location追跡 CURLOPT_NOBODY => true, // HEADに変更 ]); curl_exec($ch); var_dump(curl_getinfo($ch, CURLINFO_EFFECTIVE_URL)); /* string(37) "https://twitter.com/account/suspended" */ ```