Récupération des cookies de la réponse php curl en une variable
Dans certains scénarios, les réponses API externes peuvent être inexplicablement incorporées en tant que cookies dans l'en-tête HTTP , au lieu d'utiliser des protocoles de communication conventionnels comme le savon ou le repos. Pour faciliter l'extraction de ces cookies en un tableau structuré sans recourir à l'analyse laborieuse, la technique suivante peut être utilisée.
En utilisant l'extension de la boucle PHP, vous pouvez récupérer la réponse HTTP, y compris les cookies, en utilisant les suivants 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);
Pour extraire les cookies de la réponse, les expressions régulières peuvent être utilisées:
// Extract cookies using regular expressions preg_match_all('/^Set-Cookie:\s*([^;]*)/mi', $result, $matches);
Le tableau $ correspond contiendra tous les cookies trouvés dans la réponse. Pour convertir cela en un format plus utile, chaque chaîne de cookie peut être analysée en un tableau à l'aide de parse_str:
$cookies = array(); foreach($matches[1] as $item) { parse_str($item, $cookie); $cookies = array_merge($cookies, $cookie); }
Enfin, vous pouvez accéder aux cookies dans le tableau $ cookies. Cette approche extrait efficacement les cookies de la réponse Curl sans avoir besoin d'analyses complexes ou d'opérations basées sur des fichiers.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3