Я использую GuzzleHttp \ Client в моем приложении Laravel. Мне нужно взять куки из списка доменов (вместе с источником). Захват всего остального прекрасно работает. Получение куки работает, вроде.
Веб-сайты возвращают файлы cookie только с базового домена. Поэтому, если я сделаю запрос к https://www.example.com., я получу куки для example.com. Я не получаю куки www.example.com. И удивительное количество сайтов отправляют оба. Когда я проверяю сайты в Chrome, я вижу оба набора файлов cookie.
Как мне получить куки для домена и всех его поддоменов?
Вот часть кода, которая получает куки:
$client = new \GuzzleHttp\Client();
$jar = new \GuzzleHttp\Cookie\CookieJar(false);
$res = $client->request('GET', $website, ['http_errors' => false, 'cookies' => $jar]);
$body = mb_convert_encoding($res->getBody()->getContents(), 'UTF-8', 'UTF-8');
$cookies = '';
$it = $jar->getIterator();
while ($it->valid()) {
$cookies .= $it->current() . "\r\n";
$it->next();
}