curl_setopt_array 为 cURL 传输会话批量设置选项
发表日期:2021-07-01 08:56:37 | 来源: | | 浏览(698) 分类:cURL 函数
curl_setopt_array
(PHP 5 >= 5.1.3, PHP 7, PHP 8)
curl_setopt_array — 为 cURL 传输会话批量设置选项
说明
$ch
, array $options
): bool为 cURL 传输会话批量设置选项。这个函数对于需要设置大量的 cURL 选项是非常有用的,不需要重复地调用 curl_setopt()。
参数
-
handle
-
由 curl_init() 返回的 cURL 句柄。
-
options
-
一个 array 用来确定将被设置的选项及其值。数组的键值必须是一个有效的curl_setopt()常量或者是它们对等的整数值。
返回值
如果全部的选项都被成功设置,返回true
。如果一个选项不能被成功设置,马上返回false
,忽略其后的任何在options
数组中的选项。
范例
示例 #1 初始化新的 cURL 会话并抓取 web 页面
<?php // 创建一个新 cURL 资源$ch = curl_init(); // 设置 URL 和相应的选项$options = array(CURLOPT_URL => 'http://www.example.com/', CURLOPT_HEADER => false ); curl_setopt_array($ch, $options); // 抓取 URL 并把它传递给浏览器curl_exec($ch); // 关闭 cURL 资源,并且释放系统资源curl_close($ch); ?>
早于PHP 5.1.3这个函数可以做如下模拟:
示例 #2 我们对curl_setopt_array()的等价实现
<?php if (!function_exists('curl_setopt_array')) { function curl_setopt_array(&$ch, $curl_options) { foreach ($curl_options as $option => $value) { if (!curl_setopt($ch, $option, $value)) { return false; } } return true; } } ?>
注释
注意:
就curl_setopt()来说,传递一个数组到
CURLOPT_POST
将会把数据以multipart/form-data的方式编码,然而传递一个URL-encoded字符串将会以application/x-www-form-urlencoded的方式对数据进行编码。
- PHP(0)
- PHP杂项(34)
- PHP基础-李炎恢系列课程(20)
- 中文函数手册(0)
- 错误处理 函数(13)
- OPcache 函数(6)
- PHP 选项/信息 函数(54)
- Zip 函数(10)
- Hash 函数(15)
- OpenSSL 函数(63)
- Date/Time 函数(51)
- 目录函数(9)
- Fileinfo 函数(6)
- iconv 函数(11)
- 文件系统函数(81)
- 多字节字符串 函数(57)
- GD 和图像处理 函数(114)
- 可交换图像信息(5)
- Math 函数(50)
- 程序执行函数(11)
- PCNTL 函数(23)
- JSON 函数(4)
- SPL 函数(15)
- URL 函数(10)
- cURL 函数(32)
- curl_close 关闭 cURL 会话(0)
- curl_copy_handle 复制一个cURL句柄和它的所有选项(0)
- curl_errno 返回最后一次的错误代码(0)
- curl_error 返回当前会话最后一次错误的字符串(0)
- curl_escape 使用 URL 编码给定的字符串(0)
- curl_exec 执行 cURL 会话(0)
- curl_file_create 创建一个 CURLFile 对象(0)
- curl_getinfo 获取一个cURL连接资源句柄的信息(0)
- curl_init 初始化 cURL 会话(0)
- curl_multi_add_handle 向curl批处理会话中添加单独的curl句柄(0)
- curl_multi_close 关闭一组cURL句柄(0)
- curl_multi_errno 返回上一次 curl 批处理的错误码(0)
- curl_multi_exec 运行当前 cURL 句柄的子连接(0)
- curl_multi_getcontent 如果设置了CURLOPT_RETURNTRANSFER,则返回获取的输出的文本流(0)
- curl_multi_info_read 获取当前解析的cURL的相关传输信息(0)
- curl_multi_init 返回一个新cURL批处理句柄(0)
- curl_multi_remove_handle 移除cURL批处理句柄资源中的某个句柄资源(0)
- curl_multi_select 等待所有cURL批处理中的活动连接(0)
- curl_multi_setopt 为 cURL 并行处理设置一个选项(0)
- curl_multi_strerror 返回字符串描述的错误代码(0)
- curl_pause 暂停和取消暂停一个连接。(0)
- curl_reset 重置一个 libcurl 会话句柄的所有的选项(0)
- curl_setopt_array 为 cURL 传输会话批量设置选项(0)
- curl_setopt 设置 cURL 传输选项(0)
- curl_share_close 关闭 cURL 共享句柄(0)
- curl_share_errno 返回共享 curl 句柄的最后一次错误号(0)
- curl_share_init 初始化一个 cURL 共享句柄。(0)
- curl_share_setopt 为 cURL 共享句柄设置选项。(0)
- curl_share_strerror 返回错误号对应的错误消息(0)
- curl_strerror 返回错误代码的字符串描述(0)
- curl_unescape 解码给定的 URL 编码的字符串(0)
- curl_version 获取 cURL 版本信息(0)
- 网络 函数(33)
- FTP 函数(36)
- Session 函数(23)
- PCRE 函数(11)
- PCRE 正则语法(19)
- 数组 函数(81)
- 类/对象 函数(18)
- 函数处理 函数(13)
- 变量处理 函数(37)
- SimpleXML 函数(3)
- 杂项 函数(31)
- 字符串 函数(101)