(PHP 5 >= 5.5.0)
curl_share_setopt — Configura una opción para un gestor cURL compartido
$sh
, int $option
, string $value
)Configura una opción en el gestor cURL compartido dado.
sh
Un gestor 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 multi gestores cURL , todos los gestores añadidos al mismo multi gestor 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 gestor. |
Devuelve TRUE
en caso de éxito o FALSE
en caso de error.
Ejemplo #1 Ejemplo de curl_share_setopt()
Este ejemplo creará un gestor cURL compartido, añade dos gestores cURL en él, y los ejecuta con compartición de datos con cookie.
<?php
// Crea un gestor 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 gestor cURL y lo asigna el gestor compartido
$ch1 = curl_init("http://example.com/");
curl_setopt($ch1, CURLOPT_SHARE, $sh);
// Ejecuta el primer gestor cURL
curl_exec($ch1);
// Inicializa el segundo gestor cURL y lo asigna al gestor compartido
$ch2 = curl_init("http://php.net/");
curl_setopt($ch2, CURLOPT_SHARE, $sh);
// Ejecuta el segundo gestor cURL
// todas las cookies del gestor $ch1 se comparten con el gestor $ch2
curl_exec($ch2);
// Cierra el gestor compartido cURL
curl_share_close($sh);
// Cierra los gestores cURL
curl_close($ch1);
curl_close($ch2);
?>