curl_share_setopt

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

curl_share_setoptConfigura uma opção para um controlador de compartilhamento de cURL

Descrição

curl_share_setopt(CurlShareHandle $share_handle, int $option, mixed $value): bool

Configura uma opção no controlador de compartilhamento de cURL informado.

Parâmetros

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.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Registro de Alterações

Versão Descrição
8.0.0 O parâmetro share_handle agora espera uma instância de CurlShareHandle; anteriormente, um resource era esperado.

Exemplos

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

add a note add a note

User Contributed Notes

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