質問: PHPのfile_get_contents関数に関する質問です。 指定URL先がBasic認証をかけていて内容の取得に失敗したとき、 戻り値がfalse以外が返ってくることがありますでしょうか? 現在、file_get_contentsでBasic認証がかかったURL先の取得を試みたとき、 内容の取得に失敗した場合の戻り値がfalseではなく、 HTMLソース(ブラウザでBasic認証に失敗したときの画面のHTML)を 文字列として取得してしまう事象が発生しています。 このような事象に遭遇された方はいらっしゃいますでしょうか? また、戻り値がfalseになるための施策をご存知であればお教え頂けますか。 PHPのバージョンは 5.2.17 です。 当方、PHP初心者のため、思わぬ勘違いをしているかもしれませんが、 何卒、よろしくお願いいたします。
回答: Basic認証がエラーになったときにサーバー側がどのように振る舞うかは、サーバー次第です。例えば、サーバー側でBasic認証の処理をPHPでしてたとしたら、単にエラーをヘッダーで返す事も、エラー表示のHTMLページを表示することも出来ます。ですから対象のURLを処理するサーバーがどのように振る舞うかを想定した処理をする必要があります。