PHP Conference Japan 2024

curl_copy_handle

(PHP 5、PHP 7、PHP 8)

curl_copy_handle复制 cURL句柄及其所有首选项

描述

curl_copy_handle(CurlHandle $handle): CurlHandle|false

复制 cURL 句柄并保留相同的首选项。

参数

handle

curl_init() 返回的 cURL 句柄。

返回值

返回一个新的 cURL 句柄,或者在失败时返回 false

变更日志

版本 描述
8.0.0 handle 现在期望一个 CurlHandle 实例;以前,期望一个 resource
8.0.0 成功时,此函数现在返回一个 CurlHandle 实例;以前,返回一个 resource

范例

示例 #1 复制 cURL 句柄

<?php
// 创建一个新的 cURL 资源
$ch = curl_init();

// 设置 URL 和其他适当的选项
curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/');
curl_setopt($ch, CURLOPT_HEADER, 0);

// 复制句柄
$ch2 = curl_copy_handle($ch);

// 获取 URL (http://www.example.com/) 并将其传递给浏览器
curl_exec($ch2);

// 关闭 cURL 资源并释放系统资源
curl_close($ch2);
curl_close($ch);
?>

添加注释

用户贡献的注释 1 条注释

administrator at proxy-list dot org
16 年前
当您尝试在 curl_multi_add_handle() 中仅使用复制的 curl 句柄时,会发生一些内部 curl 错误 (CURLE_FAILED_INIT)。我检查了相同的有问题 PHP 代码,但略有不同:我没有创建 curl 的副本,而是使用了原始的(模板)。正如我预期的那样,代码在没有任何错误的情况下工作。我认为 curl_multi_* 以及 curl_copy_handle() 仍然很原始,需要一些改进。

此致

Vitali Simsive
To Top