最近、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);
ひとまずこれで最低限の接続テストだけは出来るようになった。