ボクの覚え書き – CentOSでサーバ構築 サーバー構築やプログラミングの覚え書き

CURLでBasic認証がかかったページへアクセスする

12.26.2007 · Posted in 覚え書き

たとえば、Basic認証がかかったURL

  • http://basicninsyo.funny-k.com/test.html
  • ユーザ名:guest
  • パスワード:password

というのがあったとして、このページをPHPで取得するのに

$buf = join("", file("http://basicninsyo.funny-k.com/test.html"));

なんてすると、当然のようにWarningではじかれてしまいます。

しかし、CURLを利用すると、Basic認証がかかったページでもアクセスすることができます。

$URL = "http://basicninsyo.funny-k.com/test.html";
$USERNAME = "guest";
$PASSWORD = "password";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $URL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERPWD, $USERNAME . ":" . $PASSWORD);
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
$buf = curl_exec($ch);
curl_close($ch);

$fp = fopen("./output.html", "w");
fputs($fp, $buf);
fclose($fp);

こんな感じです。

Comments are closed