(PHP 5 >= 5.5.0, PHP 7, PHP 8)
curl_share_setopt — Configura una opción para un manejador cURL compartido
Configura una opción en el manejador cURL compartido dado.
sh
Un manejador cURL compartido devuelto por curl_share_init().
option
Opción | Descripción |
---|---|
CURLSHOPT_SHARE |
Especifica un tipo de datos que debe ser compartido. |
CURLSHOPT_UNSHARE |
Especifica un tipo de datos que no debe ser compartido. |
value
Valor | Descripción |
---|---|
CURL_LOCK_DATA_COOKIE |
Comparte cookies. |
CURL_LOCK_DATA_DNS |
Comparte la caché DNS. Tener en cuenta que cuando se usan multimanejadores cURL , todos los manejadores añadidos al mismo multimanejador compartirán la caché DNS por defecto. |
CURL_LOCK_DATA_SSL_SESSION |
Comparte IDs de sesiones SSL session, reduciendo el tiempo gastado en la negociación SSL cuando se reconecta al mismo servidor. Notar que los IDs de sesión SSL se reutilizan por defecto dentro del mismo manejador. |
Devuelve true
en caso de éxito o false
en caso de error.
Ejemplo #1 Ejemplo de curl_share_setopt()
Este ejemplo creará un manejador cURL compartido, añade dos manejadores cURL en él, y los ejecuta con compartición de datos con cookie.
<?php
// Crea un manejador cURL compartido y lo configura para compartir cookies
$sh = curl_share_init();
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);
// Inicializa el primer manejador cURL y lo asigna el manejador compartido
$ch1 = curl_init("http://example.com/");
curl_setopt($ch1, CURLOPT_SHARE, $sh);
// Ejecuta el primer manejador cURL
curl_exec($ch1);
// Inicializa el segundo manejador cURL y lo asigna al manejador compartido
$ch2 = curl_init("http://php.net/");
curl_setopt($ch2, CURLOPT_SHARE, $sh);
// Ejecuta el segundo manejador cURL
// todas las cookies del manejador $ch1 se comparten con el manejador $ch2
curl_exec($ch2);
// Cierra el manejador compartido cURL
curl_share_close($sh);
// Cierra los manejadores cURL
curl_close($ch1);
curl_close($ch2);
?>