Al usar Guzzle para rastrear/raspar la web. El manejo de cookies es un desafío común.

Como todos sabemos, una cookie HTTP (cookie web, cookie del navegador) es una pequeña porción de datos que un servidor envía al navegador web de un usuario. El navegador puede almacenar la cookie y enviarla de vuelta al mismo servidor con solicitudes posteriores. Esto suele ser utilizado por un sitio web para identificar a un usuario.

Al rastrear un sitio web, debemos manejar correctamente la cookie para que podamos obtener la respuesta correcta.

# Leer cookies

Recuperar cookies de Guzzle es bastante sencillo, simplemente llame al getConfig('cookies')método:

$client = new \GuzzleHttp\Client(['cookies' => true]);
$r = $client->request('GET', 'http://httpbin.org/cookies');

$cookieJar = $client->getConfig('cookies');
$cookieJar->toArray();

# Enviar cookies

Para enviar cookies con su solicitud, debe pasar un contenedor de cookies a la solicitud:

Tenga en cuenta que la cookiesopción debe establecerse en una instancia de GuzzleHttp\Cookie\CookieJarInterface.

# El final

Espero que encuentres útil este tutorial. Compartir es cuidar, comparte este tutorial si has aprendido algo de él.