Sto usando questo ....PHP CURL sembra ignorare cookie jar/file
function cURL($url, $header=NULL, $p=NULL)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1");
curl_setopt($ch, CURLOPT_COOKIEFILE, "/tmp/TestCookies");
if ($p) {
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $p);
}
$result = curl_exec($ch);
if ($result) {
return $result;
} else {
return curl_error($ch);
}
curl_close($ch);
}
E sto facendo una chiamata del genere ...
$Headers = array(
"Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*\/*;q=0.5",
"Accept-Language: en-gb,en;q=0.5",
"Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7");
$a = $this->cURL("https://www.mysite.com/",$Headers, null);
I' d aspettarsi che questo riceva un cookie e scriverlo sul file /tmp/TestCookies
.
Il sito restituisce definitivamente le intestazioni Set-Cookie
- Posso vederle se scarico $a
, tuttavia, il file in questione non viene mai creato.
Nel caso si tratti di un problema di autorizzazioni, l'ho creato con touch
e chmod 777
'd it - Il file ora esiste ma è vuoto.
Cosa sto sbagliando?
'_COOKIEFILE' viene letto da, e solo' _COOKIEJAR' è stato scritto. – mario
tipo di menzionato qui: http://stackoverflow.com/a/1861824/345031 – mario
Grazie per le informazioni - se si desidera pubblicarlo come risposta, accetterò. – Basic