curl_share_init

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

curl_share_initИнициализирует разделяемый дескриптор cURL

Описание

curl_share_init(): CurlShareHandle

Функция разрешает cURL-дескрипторам делиться данными друг с другом.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Фнукция возвращает разделяемый дескриптор модуля cURL.

Список изменений

Версия Описание
8.0.0 Функция возвращает экземпляр класса CurlShareHandle; раньше возвращался ресурс (resource).

Примеры

Пример #1 Пример использования функции curl_share_init()

Пример создаёт разделяемый дескриптор cURL, добавляет в него два обычных дескриптора и запускает оба дескриптора. Дескрипторы будут использовать одни и те же блоки данных cookie.

<?php

// Создаём разделяемый дескриптор и настраиваем его на обмен cookies
$sh = curl_share_init();
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);

// Инициализируем первый дескриптор модуля cURL и связываем его с разделяемым
$ch1 = curl_init("http://example.com/");
curl_setopt($ch1, CURLOPT_SHARE, $sh);

// Запускаем первый запрос
curl_exec($ch1);

// Инициализируем второй дескриптор cURL и связываем его с разделяемым
$ch2 = curl_init("http://php.net/");
curl_setopt($ch2, CURLOPT_SHARE, $sh);

// Запускаем второй дескриптор
// Дескриптору будут доступны cookies первого дескриптор, который хранится в переменной $ch1
curl_exec($ch2);

// Закрываем разделяемый дескриптор
curl_share_close($sh);

// Закрываем оба обычных дескриптора
curl_close($ch1);
curl_close($ch2);

?>

Смотрите также

  • curl_share_setopt() - Устанавливает опции разделяемого cURL-дескриптора
  • curl_share_close() - Закрывает разделяемый cURL-дескриптор

Добавить

Примечания пользователей 1 note

up
0
Robert Chapin
7 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