Задача по получению списка всех удаленных кук достаточно нетипична и встречается редко. Но, при удаленной авторизации, например, эта задача может стать критичной и вызвать много проблем.
Но, на самом деле, задача решается достаточно просто.
Приведенный ниже код возвращает список всех cookie с удаленного сервера:
function getGemoteCookies( $url ){
// адрес для удаленного подключения
$ch = curl_init( $url );
// результат вернуть в переменную, а не на экран
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// вернуть заголовки
curl_setopt($ch, CURLOPT_HEADER, 1);
// выполнить запрос
$result = curl_exec($ch);
// получаем cookies, исходя из блока Set-Cookie заголовков
preg_match_all('/^Set-Cookie:\s*([^;]*)/mi', $result, $matches);
$cookies = array();
foreach($matches[1] as $item) {
parse_str($item, $cookie);
$cookies = array_merge($cookies, $cookie);
}
return cookies ;
}
Таким образом, список удаленных cookie можно получить просто вызвав метод. Например, так:
getGemoteCookies('http://onfor.info');