In effetti, è possibile. Devi solo prendere il cookie del browser e passarlo come parametro per arricciare a mimik il browser. E 'come un sollevamento sessione di ...
Ecco un esempio di codice:
// Init curl connection
$curl = curl_init('http://otherserver.com/');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
// You can add your GET or POST param
// Retrieving session ID
$strCookie = 'PHPSESSID=' . $_COOKIE['PHPSESSID'] . '; path=/';
// We pass the sessionid of the browser within the curl request
curl_setopt($curl, CURLOPT_COOKIE, $strCookie);
// We receive the answer as if we were the browser
$curl_response = curl_exec($curl);
Funziona molto bene se il vostro scopo è quello di chiamare un altro sito web, ma questo non riuscirà se si chiama il vostro server web (lo stesso che sta lanciando il comando curl). È perché il tuo file di sessione è ancora aperto/bloccato da questo script, quindi l'URL che stai chiamando non può accedervi.
Se si desidera ignorare questa restrizione (chiamare una pagina sullo stesso server), è necessario chiudere il file sessione con questo codice prima di eseguire il ricciolo:
$curl = curl_init('http://sameserver.com/');
//...
session_write_close();
$curl_response = curl_exec($curl);
Spero che questo vi aiuterà qualcuno:)
Sembra che dovrei trovare una soluzione più standard come il reindirizzamento automatico o qualcosa del genere. Grazie –