
As vezes você precisa fazer diversas requisições do seu backend mantendo a sessão ativa, caso necessite fazer uma autenticação, por exemplo, ou até mesmo salvar cookies para utilizar futuramente. Com o CURL isto é bem simples, basta utilizar 2 parâmetros que iremos mostra a seguir.
Criando cookie/sessão
Para criar a sessão ou o cookie, na primeira requisição deve ser setado o parâmetro CURLOPT_COOKIEJAR
, onde serão salvos os cookies gerados pela URL requisitada. Exemplo:
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_COOKIEJAR, '/tmp/cookiefile');
curl_setopt($curl, CURLOPT_URL, 'https://minha.url/login');
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, '[email protected]&pass=123123');
curl_exec ($curl);
Utilizando a função curl_setopt
adicionamos a opção CURLOPT_COOKIEJAR
e informamos o arquivo em que este cookie será salvo. Por questões de segurança, é importante criar o arquivo na pasta /tmp
, de forma temporária
Lendo cookie/sessão
Nas requisições seguintes, em que devemos ter a sessão que foi criada sendo utilizada, informamos para o CURL que utilize o arquivo temporário criado anteriormente, para isto utilizamos o seguinte exemplo:
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_COOKIEFILE, '/tmp/cookiefile');
curl_setopt($curl, CURLOPT_URL, 'https://minha.url');
curl_exec ($curl);
Utilizando a função curl_setopt
adicionamos a opção CURLOPT_COOKIEFILE
e informamos o arquivo em que este cookie será salvo.
Comentários