(PHP 5 >= 5.5.0, PHP 7, PHP 8)
curl_share_setopt — Configura uma opção para um controlador de compartilhamento de cURL
Configura uma opção no controlador de compartilhamento de cURL informado.
share_handle
Um manipulador cURL de compartilhamento retornado por curl_share_init().
option
Opção | Descrição |
---|---|
CURLSHOPT_SHARE |
Especifica um tipo de dado que deve ser compartilhado. |
CURLSHOPT_UNSHARE |
Especifica um tipo de dado que não será mais compartilhado. |
value
Valor | Descrição |
---|---|
CURL_LOCK_DATA_COOKIE |
Compartilha dados de cookies. |
CURL_LOCK_DATA_DNS |
Compartilha o cache de DNS. Note que quando for utilizado multi controladores cURL, todos os controladores adicionados ao mesmo multi controlador irão compartilhar o cache de DNS por padrão. |
CURL_LOCK_DATA_SSL_SESSION |
Compartilha IDs de sessão SSL, reduzindo o tempo gasto no manuseio da conexão SSL ao reconectar no mesmo servidor. Note que IDs de sessão SSL são reusados no mesmo controlador por padrão. |
Retorna true
em caso de sucesso ou false
em caso de falha.
Versão | Descrição |
---|---|
8.0.0 |
O parâmetro share_handle agora espera uma instância de CurlShareHandle;
anteriormente, um resource era esperado.
|
Exemplo #1 Exemplo de curl_share_setopt()
Este exemplo irá criar um controlador de compartilhamento de cURL, adicionar dois controladores cURL nele, e então executá-los com o compartilhamento de cookies.
<?php
// Cria o controlador de compartilhamento de cURL e configura-o para compartilhar os cookies
$sh = curl_share_init();
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);
// Inicializa o primeiro controlador cURL e atribui o controlador de compartilhamento à ele
$ch1 = curl_init("http://example.com/");
curl_setopt($ch1, CURLOPT_SHARE, $sh);
// Executa o primeiro controlador cURL
curl_exec($ch1);
// Inicializa o segundo controlador cURL e atribui o controlador de compartilhamento à ele
$ch2 = curl_init("http://php.net/");
curl_setopt($ch2, CURLOPT_SHARE, $sh);
// Executa o segundo controlador cURL
// todos os cookies do controlador $ch1 são compartilhados com o controlador $ch2
curl_exec($ch2);
// Fecha o controlador de compartilhamento de cURL
curl_share_close($sh);
// Fecha os controladores cURL
curl_close($ch1);
curl_close($ch2);
?>