PHPCon Poland 2024

curl_share_init

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

curl_share_initInicializa um controlador de compartilhamento de cURL

Descrição

curl_share_init(): CurlShareHandle

Permite compartilhar dados entre controladores de cURL.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna um controlador de compartilhamento cURL.

Registro de Alterações

Versão Descrição
8.0.0 Este função agora retorna uma instância de CurlShareHandle; anteriormente, um recurso do tipo resource era retornado.

Exemplos

Exemplo #1 Exemplo de curl_share_init()

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

Veja Também

add a note

User Contributed Notes 1 note

up
0
Robert Chapin
6 years ago
Cookie handling is DISABLED by default. The following must be used prior to CURLOPT_SHARE.

curl_setopt($ch1, CURLOPT_COOKIEFILE, "");
curl_setopt($ch2, CURLOPT_COOKIEFILE, "");

Also, do not attempt to use CURLOPT_SHARE with curl_setopt_array because this can cause the options to be set in the wrong order, which will fail.
To Top