質問: file_get_contents('http://www.yahoo.co.jp/'); ``` とした場合には、問題無くHTMLが取得出来ております。 対応方法としては`cURL`で実装すれば問題無いことはわかっていますが、 なぜ`file_get_contents()`で出来ないのか知りたいところです。 恐らくGoogleの場合だけこの問題が発生しております。
回答: > > ブラウザでアクセスした場合は問題がありません。 > > > ブラウザでアクセスした場合もhttp statusは400で返ってきてると思います。 file_get_contents() は既定値では http statusが400番台500番台のときはコンテンツを取得しません。 以下のようにすることでエラー時もコンテンツを取得するようになります。 ``` $opt = array("http" => array('ignore_errors' => true)); $data = file_get_contents('https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=', false, stream_context_create($opt)); var_dump($data); ```