PHP 7.1.12 Released

curl_share_init

(PHP 5 >= 5.5.0, PHP 7)

curl_share_initИнициализация разделяемого обработчика cURL

Описание

resource curl_share_init ( void )

Позволяет разным обработчикам cURL делиться данными друг с другом.

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

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

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

Возвращает ресурс типа "cURL Share Handle".

Примеры

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

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

<?php
// Создаем разделяемый обработчик и настраиваем его на обмен куками
$sh curl_share_init();
curl_share_setopt($shCURLSHOPT_SHARECURL_LOCK_DATA_COOKIE);

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

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

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

// Запускаем второй обработчик.
//  Ему будут доступны все куки от первого обработчика $ch1
curl_exec($ch2);

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

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

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

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

add a note add a note

User Contributed Notes 1 note

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