php[tek] 2018 : Call for Speakers

curl_share_setopt

(PHP 5 >= 5.5.0, PHP 7)

curl_share_setoptУстановить опции разделяемого обработчика cURL

Описание

bool curl_share_setopt ( resource $sh , int $option , string $value )

Устанавливает опции разделяемого обработчика cURL.

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

sh

Обреботчик cURL полученый из curl_share_init()

option

Опция Описание
CURLSHOPT_SHARE Задает тип данных, которые необходимо разделять.
CURLSHOPT_UNSHARE Задает тип данных, которые больше не надо разделять.

value

Значение Описание
CURL_LOCK_DATA_COOKIE Куки.
CURL_LOCK_DATA_DNS Кеш DNS. Обратите внимание, что если вы используете множественный обработчик cURL, то разделены будут кеши всех обработчиков в его составе.
CURL_LOCK_DATA_SSL_SESSION Идентификаторы сессий SSL. Позволяет сократить время на установление сессии SSL при переконнекте к тому же самому серверу. Помните, что идентификатор сессии SSL будет по умолчанию переиспользоваться тем же самым обработчиком.

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

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 curl_share_setopt() example

В этом примере мы создаем разделяемый обработчик 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);
?>

add a note add a note

User Contributed Notes

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