Ich greife auf einen REST-API-Dienst zu, der eine Variable namens session_id verwendet. Die API-Aufrufe für diese in einem Cookie gespeichert werden, und ich erreichen dies wie folgt:PHP mit CURL: gibt es eine Möglichkeit, ein Cookie zu emulieren, anstatt es in einer Datei zu speichern?
$ch = curl_init(); // initialize curl handle
curl_setopt($ch, CURLOPT_URL, $url); //set target URL
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);// allow redirects
curl_setopt($ch, CURLOPT_COOKIEFILE, './Cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, './Cookie.txt');
curl_setopt($ch, CURLOPT_POST, TRUE); // set POST method
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); //set headers
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, TRUE); //return the headers so we can get session id
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, FALSE); //prevent unverified SSL certificate error
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //prevent unverified SSL ""
$contents = curl_exec($ch);
curl_close($ch);
Nun das Problem ist dies viele Male von vielen verschiedenen Benutzern genannt. (So viele verschiedene Cookie-Dateien müssen gespeichert werden) Ich möchte eine Möglichkeit, die Session-ID einfach in einer Variablen zu speichern, anstatt auf die Cookie-Datei zu verweisen. Bisher werden alle meine Versuche vom Dienst abgelehnt. Kann jemand Methoden vorschlagen, um die Sitzungs-ID und Cookie-Informationen zu speichern, ohne sie in einer Datei zu speichern? Beachten Sie, dass das Lesen der Sitzungs-ID kein Problem darstellt und in XML zurückgegeben wird. Aus irgendeinem Grund werden die Sicherheitsanmeldeinformationen nicht weitergegeben, ohne dass die tatsächlich generierte Datei referenziert wird. Weitere Informationen dazu, warum dies möglich ist, wären ebenfalls hilfreich.
Diese Seite spricht es wirklich zu out http://docstore.mik.ua/orelly/webprog/pcook/ch11_04.htm – Praesagus