curl_share_setopt

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

curl_share_setopt为 cURL 共享句柄设置选项

说明

curl_share_setopt(CurlShareHandle $share_handle, int $option, mixed $value): bool

在给定的 cURL 共享句柄上设置选项。

参数

share_handle

curl_share_init() 返回的 cURL 共享句柄。

option

选项 说明
CURLSHOPT_SHARE 指定要共享的数据类型。
CURLSHOPT_UNSHARE 指定不再共享的数据类型。

value

说明
CURL_LOCK_DATA_COOKIE 共享 cookie 数据。
CURL_LOCK_DATA_DNS 共享 DNS 缓存。请注意,当您使用 cURL 多句柄时,默认情况下添加到同一多句柄的所有句柄将共享 DNS 缓存。
CURL_LOCK_DATA_SSL_SESSION 共享 SSL 会话 ID,减少重新连接到同一服务器时 SSL 握手花费的时间。请注意,默认情况下 SSL 会话 ID 在同一句柄内重复使用。

返回值

成功时返回 true,失败时返回 false

变更日志

版本 说明
8.0.0 share_handle 现在期望一个 CurlShareHandle 实例;以前,期望一个 resource

示例

示例 #1 curl_share_setopt() 示例

此示例将创建一个 cURL 共享句柄,向其添加两个 cURL 句柄,然后在共享 cookie 数据的情况下运行它们。

<?php
// 创建 cURL 共享句柄并将其设置为共享 cookie 数据
$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 句柄
curl_exec($ch1);

// 初始化第二个 cURL 句柄并将共享句柄分配给它
$ch2 = curl_init("https://php.net/");
curl_setopt($ch2, CURLOPT_SHARE, $sh);

// 执行第二个 cURL 句柄
// $ch1 句柄的所有 cookie 都与 $ch2 句柄共享
curl_exec($ch2);

// 关闭 cURL 共享句柄
curl_share_close($sh);

// 关闭 cURL 句柄
curl_close($ch1);
curl_close($ch2);
?>

添加备注

用户贡献的备注

此页面没有用户贡献的备注。
To Top