El cURL que significa URL del cliente se refiere a una biblioteca para transferir datos utilizando varios protocolos compatibles con cookies, HTTP, FTP, IMAP, POP3, HTTPS (con certificación SSL), etc. Este ejemplo ilustrará cómo obtener cookies de PHP cURL en un variable. Las funciones brindan una opción para establecer una devolución de llamada que se llamará para cada línea de encabezado de respuesta. La función recibirá el objeto curl y una string con la línea de encabezado. Junto con su propósito, los requisitos para este ejemplo se describen a continuación:
- curl_init(): Se utiliza para inicializar un objeto curl.
- curl_setopt (objeto, parámetro, valor): se utiliza para establecer el valor del parámetro para un determinado objeto curl.
- curl_exec (objeto): se utiliza para ejecutar la sesión curl actual. Llamado después de configurar los valores para los parámetros de curl deseados.
- preg_match_all(regExp, inputVariable, OutputVariable): se utiliza para realizar una verificación de expresión regular global.
Ejemplo 1: este ejemplo ilustra cómo obtener cookies de www.amazon.com
<?php // URL to fetch cookies $url = "https://www.amazon.com/"; // Initialize cURL object $curlObj = curl_init(); /* setting values to required cURL parameters. CURLOPT_URL is used to set the URL to fetch CURLOPT_RETURNTRANSFER is enabled curl response to be saved in a variable CURLOPT_HEADER enables curl to include protocol header CURLOPT_SSL_VERIFYPEER enables to fetch SSL encrypted HTTPS request.*/ curl_setopt($curlObj, CURLOPT_URL, $url); curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curlObj, CURLOPT_HEADER, 1); curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, false); $result = curl_exec($curlObj); // Matching the response to extract cookie value preg_match_all('/^Set-Cookie:\s*([^;]*)/mi', $result, $match_found); $cookies = array(); foreach($match_found[1] as $item) { parse_str($item, $cookie); $cookies = array_merge($cookies, $cookie); } // Printing cookie data print_r( $cookies); // Closing curl object instance curl_close($curlObj); ?>
Nota: Cada sitio web tiene su propio formato de almacenamiento de cookies de acuerdo con sus requisitos. Por lo tanto, ningún formato específico está disponible para las cookies.
Producción:
Ejemplo 2: este ejemplo ilustra cómo obtener cookies de www.google.com
<?php $url = "https://www.google.com/"; $curlObj = curl_init(); curl_setopt($curlObj, CURLOPT_URL, $url); curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curlObj, CURLOPT_HEADER, 1); curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, false); $result = curl_exec($curlObj); preg_match_all('/^Set-Cookie:\s*([^;]*)/mi', $result, $match_found); $cookies = array(); foreach($match_found[1] as $item) { parse_str($item, $cookie); $cookies = array_merge($cookies, $cookie); } print_r( $cookies); curl_close($curlObj); ?>
Producción:
Nota: Los datos personales están borrosos.
Publicación traducida automáticamente
Artículo escrito por chitrankmishra y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA