文字

curl_share_setopt

(PHP 5 >= 5.5.0, PHP 7)

curl_share_setoptSet an option for a cURL share handle.

说明

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

Sets an option on the given cURL share handle.

参数

sh

A cURL share handle returned by curl_share_init() .

option

Option Description
CURLSHOPT_SHARE Specifies a type of data that should be shared.
CURLSHOPT_UNSHARE Specifies a type of data that will be no longer shared.
value

Value Description
CURL_LOCK_DATA_COOKIE Shares cookie data.
CURL_LOCK_DATA_DNS Shares DNS cache. Note that when you use cURL multi handles, all handles added to the same multi handle will share DNS cache by default.
CURL_LOCK_DATA_SSL_SESSION Shares SSL session IDs, reducing the time spent on the SSL handshake when reconnecting to the same server. Note that SSL session IDs are reused within the same handle by default.

返回值

成功时返回 TRUE , 或者在失败时返回 FALSE

范例

Example #1 curl_share_setopt() example

This example will create a cURL share handle, add two cURL handles to it, and then run them with cookie data sharing.

<?php
// Create cURL share handle and set it to share cookie data
$sh  curl_share_init ();
curl_share_setopt ( $sh CURLSHOPT_SHARE CURL_LOCK_DATA_COOKIE );

// Initialize the first cURL handle and assign the share handle to it
$ch1  curl_init ( "http://example.com/" );
curl_setopt ( $ch1 CURLOPT_SHARE $sh );

// Execute the first cURL handle
curl_exec ( $ch1 );

// Initialize the second cURL handle and assign the share handle to it
$ch2  curl_init ( "http://php.net/" );
curl_setopt ( $ch2 CURLOPT_SHARE $sh );

// Execute the second cURL handle
//  all cookies from $ch1 handle are shared with $ch2 handle
curl_exec ( $ch2 );

// Close the cURL share handle
curl_share_close ( $sh );

// Close the cURL handles
curl_close ( $ch1 );
curl_close ( $ch2 );
?>
上一篇: 下一篇: