curl_share_setopt

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

curl_share_setoptConfigura una opción para un manejador cURL compartido

Descripción

curl_share_setopt(resource $sh, int $option, string $value): bool

Configura una opción en el manejador cURL compartido dado.

Parámetros

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.

Valores devueltos

Devuelve true en caso de éxito o false en caso de error.

Ejemplos

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);
?>

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top