PHP専門のQ&Aサイト SUKEGRA

悩めるプログラマーを「ッターン!」と助太刀!

curl_initでステータスコード302が出る


投稿者:匿名 投稿日時: 2015年1月27日
カテゴリー:
構文・記述方法について
タグ:

curl_initを使ってサイトのステータスコードを取得しているのですが、PCでもモバイルでもアクセスできるにも関わらず200ではなく302が返されるサイトがあります。

ユーザーエージェントやCookieが関連しているのでしょうか?

$ch = curl_init($value);
curl_setopt($ch, CURLOPT_HEADER,         TRUE);
curl_setopt($ch, CURLOPT_NOBODY,         TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_TIMEOUT, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

$res = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

0 支持

ログインまたはユーザー登録してから回答してください。

回答 1

投稿者:oxy (600 ポイント) 投稿日時: 2015年1月29日

CURLOPT_FOLLOWLOCATIONを使うとリダイレクト先まで調べてくれるようです。
以下のように指定してみてください。

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
...