最近、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);

ひとまずこれで最低限の接続テストだけは出来るようになった。