Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich Cookies aus einer PHP-Curl-Antwort in eine Variable extrahieren?

Wie kann ich Cookies aus einer PHP-Curl-Antwort in eine Variable extrahieren?

Barbara Streisand
Freigeben: 2024-12-22 15:12:11
Original
787 Leute haben es durchsucht

How Can I Extract Cookies from a PHP Curl Response into a Variable?

Cookies aus der PHP-Curl-Antwort in eine Variable abrufen

In bestimmten Szenarien können externe API-Antworten aus unerklärlichen Gründen als Cookies in den HTTP-Header eingebettet werden , anstatt herkömmliche Kommunikationsprotokolle wie SOAP oder REST zu verwenden. Um das Extrahieren dieser Cookies in ein strukturiertes Array zu erleichtern, ohne auf mühsames Parsen zurückgreifen zu müssen, kann die folgende Technik eingesetzt werden.

Mithilfe der PHP-Curl-Erweiterung können Sie die HTTP-Antwort, einschließlich der Cookies, wie folgt abrufen Code:

$ch = curl_init('http://www.google.com/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Retrieve headers too
curl_setopt($ch, CURLOPT_HEADER, 1);
$result = curl_exec($ch);
Nach dem Login kopieren

Um die Cookies aus der Antwort zu extrahieren, können reguläre Ausdrücke verwendet werden:

// Extract cookies using regular expressions
preg_match_all('/^Set-Cookie:\s*([^;]*)/mi', $result, $matches);
Nach dem Login kopieren

Das $matches-Array enthält alle in der Antwort gefundenen Cookies. Um dies in ein nützlicheres Format umzuwandeln, kann jeder Cookie-String mit parse_str in ein Array geparst werden:

$cookies = array();
foreach($matches[1] as $item) {
    parse_str($item, $cookie);
    $cookies = array_merge($cookies, $cookie);
}
Nach dem Login kopieren

Schließlich können Sie auf die Cookies im $cookies-Array zugreifen. Dieser Ansatz extrahiert effektiv Cookies aus der Curl-Antwort, ohne dass komplexe Parsing- oder dateibasierte Vorgänge erforderlich sind.

Das obige ist der detaillierte Inhalt vonWie kann ich Cookies aus einer PHP-Curl-Antwort in eine Variable extrahieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage