PHPでのCURLを使用したクッキーの自動送信
ファイルに保存されたクッキーは、次のリクエスト時に自動的に送り返すことができます。
これは2つのオプションを使用して行われます:
オプション CURLOPT_COOKIEJAR はクッキーを受信してファイルに保存するように指示し、
オプション CURLOPT_COOKIEFILE は保存されたクッキーをサーバーに送信するように指示します。
これらのオプションを設定してみましょう:
<?php
$cookieFilePath = $_SERVER['DOCUMENT_ROOT'] . '/cookie.txt';
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookieFilePath);
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookieFilePath);
?>
次のページに対して2つのリクエストを行ってください:
<?php
if (!empty($_COOKIE)) {
echo date('H:i:s', $_COOKIE['time']);
} else {
setcookie('time', time(), time() + 3600, '/');
echo 'cookie saved';
}
?>
最初のリクエストではクッキーがファイルに保存され、 2番目のリクエストではそれが送り返されることを確認してください。