最近、Basic認証のかかったページをPHPでスクレイピングすることが合ったのでメモ。
スクレイピング自体は別の方法でやったが、とりあえず簡単なアクセスチェックとしてfile_get_contentsを利用したコードを書いてみた。
const URL = "https://example.com"; const USERNAME = "user"; const PASSWORD = "pass"; $basicAuth = [ 'User-Agent: My User Agent', 'Authorization: Basic ' . base64_encode(USERNAME.':'.PASSWORD), ]; $options = [ 'http' => [ 'header' => implode("\r\n", $basicAuth) ] ]; $result = file_get_contents(URL, false, stream_context_create($options)); var_dump($result);
ひとまずこれで最低限の接続テストだけは出来るようになった。