特定の URL を持つサーバーに Cookie が存在するかどうかを確認しようとしています。
$ch=curl_init();
//curl_setopt ($ch, CURLOPT_COOKIE, "mm=38533;" );
curl_setopt($ch,CURLOPT_USERAGENT,$_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_COOKIEFILE,'/tmp/cookies.txt');
curl_setopt($ch,CURLOPT_URL,'http://www.engageya.com');
curl_setopt($ch, CURLOPT_HEADER, 1);
$response=curl_exec($ch);
// get cookie
preg_match('/^Set-Cookie:\s*([^;]*)/mi', $response, $m);
curl_close($ch);
var_dump(parse_url($m[1]));
echo "<br/>".$response;
問題は、ターゲット サイトにログインしているときです。サイトにログインしているかどうかを確認する必要があるため、サイトから Cookie を取得しようとしましたが、失敗しました。curlopt_cookie オプションを使用することを考えました..しかし、サーバーから Cookie を返し、それが存在するかどうかを確認する簡単な方法があるかどうかを考えました。
要するに、ページにアクセスすると、Cookie が存在します。しかし、リクエストが戻ってきて印刷すると存在しません