常量 |
描述 |
CURLOPT_ABSTRACT_UNIX_SOCKET (int) |
启用使用抽象 Unix 域套接字,而不是建立到主机的 TCP 连接,并将路径设置为给定的 string。此选项与 CURLOPT_UNIX_SOCKET_PATH 的语义相同。这两个选项共享相同的存储空间,因此每个句柄只能设置其中一个。自 PHP 7.3.0 和 cURL 7.53.0 起可用。
|
CURLOPT_ACCEPT_ENCODING (string) |
设置一个 string,其中包含在 HTTP 请求中发送的 Accept-Encoding: 标头的内容。设置为 null 可禁用发送 Accept-Encoding: 标头。默认为 null 。自 cURL 7.21.6 起可用。
|
CURLOPT_ACCEPTTIMEOUT_MS (int) |
使用活动 FTP 连接时,等待服务器连接回 cURL 的最大毫秒数。此选项接受任何可以转换为有效 int 的值。默认为 60000 毫秒。自 cURL 7.24.0 起可用。
|
CURLOPT_ADDRESS_SCOPE (int) |
连接到 IPv6 地址时要使用的作用域 ID 值。此选项接受任何可以转换为有效 int 的值。默认为 0 。自 cURL 7.19.0 起可用。
|
CURLOPT_ALTSVC (string) |
传递一个 string,其中包含 cURL 用作 Alt-Svc 缓存文件的文件名,用于读取现有的缓存内容,并可能在传输后将其写回,除非通过 CURLOPT_ALTSVC_CTRL 设置了 CURLALTSVC_READONLYFILE 。自 PHP 8.2.0 和 cURL 7.64.1 起可用。
|
CURLOPT_ALTSVC_CTRL (int) |
使用正确的功能集填充位掩码,以指示 cURL 如何处理使用此句柄的传输的 Alt-Svc。cURL 仅接受 HTTPS 上的 Alt-Svc 标头。它也只会完成对替代来源的请求,如果该来源在 HTTPS 上正确托管。设置任何位都将启用 alt-svc 引擎。设置为任何 CURLALTSVC_* 常量。默认为禁用 Alt-Svc 处理。自 PHP 8.2.0 和 cURL 7.64.1 起可用。
|
CURLOPT_APPEND (int) |
将此选项设置为 1 将导致 FTP 上传附加到远程文件,而不是覆盖它。默认为 0 。自 cURL 7.17.0 起可用。
|
CURLOPT_AUTOREFERER (int) |
true 自动在请求中设置 Referer: 字段,其中该字段遵循 Location: 重定向。默认为 0 。自 cURL 7.1.0 起可用。
|
CURLOPT_AWS_SIGV4 (string) |
在 HTTP(S) 标头中提供 AWS V4 签名身份验证,作为 string。此选项将覆盖在 CURLOPT_HTTPAUTH 中设置的任何其他身份验证类型。此方法不能与其他身份验证类型结合使用。自 PHP 8.2.0 和 cURL 7.75.0 起可用。
|
CURLOPT_BINARYTRANSFER (int) |
自 PHP 5.5.0 起不再使用此常量。自 PHP 8.4.0 起已弃用。
|
CURLOPT_BUFFERSIZE (int) |
用于每次读取的缓冲区大小。但是,不能保证此请求会被满足。此选项接受任何可以转换为有效 int 的值。默认为 CURL_MAX_WRITE_SIZE (目前为 16kB)。自 cURL 7.10 起可用。
|
CURLOPT_CAINFO (string) |
一个 string,其中包含保存一个或多个证书的文件名,用于验证对等方。仅当与 CURLOPT_SSL_VERIFYPEER 结合使用时才有意义。可能需要绝对路径。自 cURL 7.4.2 起可用。
|
CURLOPT_CAINFO_BLOB (string) |
一个 string,其中包含保存一个或多个证书的 PEM 文件名,用于验证对等方。此选项将覆盖 CURLOPT_CAINFO 。自 PHP 8.2.0 和 cURL 7.77.0 起可用。
|
CURLOPT_CAPATH (string) |
一个 string,其中包含保存多个 CA 证书的目录。将此选项与 CURLOPT_SSL_VERIFYPEER 一起使用。自 cURL 7.9.8 起可用。
|
CURLOPT_CA_CACHE_TIMEOUT (int) |
设置内存中缓存的 CA 证书存储区可以保留和重复用于新连接的最大秒数。此选项接受任何可以转换为有效 int 的值。默认为 86400 (24 小时)。自 PHP 8.3.0 和 cURL 7.87.0 起可用
|
CURLOPT_CERTINFO (int) |
true 将 SSL 证书信息输出到安全传输的 STDERR 。需要 CURLOPT_VERBOSE 为开启状态才能生效。默认为 false 。自 cURL 7.19.1 起可用。
|
CURLOPT_CONNECTTIMEOUT (int) |
尝试连接时等待的秒数。使用 0 表示无限期等待。此选项接受任何可以转换为有效 int 的值。默认为 300 。从 cURL 7.7.0 开始可用。
|
CURLOPT_CONNECTTIMEOUT_MS (int) |
尝试连接时等待的毫秒数。使用 0 表示无限期等待。如果 cURL 构建为使用标准系统名称解析器,则连接的该部分仍然会使用全秒分辨率进行超时,允许的最小超时为一秒。此选项接受任何可以转换为有效 int 的值。默认为 300000 。从 cURL 7.16.2 开始可用。
|
CURLOPT_CONNECT_ONLY (int) |
true 指示库执行所有必需的代理身份验证和连接设置,但不进行数据传输。此选项适用于 HTTP、SMTP 和 POP3。默认为 false 。从 cURL 7.15.2 开始可用。
|
CURLOPT_CONNECT_TO (int) |
连接到特定的主机和端口,而不是 URL 的主机和端口。接受一个格式为 HOST:PORT:CONNECT-TO-HOST:CONNECT-TO-PORT 的 array,其元素为 string。从 PHP 7.0.7 和 cURL 7.49.0 开始可用。
|
CURLOPT_COOKIE (int) |
包含要在 HTTP 请求中使用的 Cookie: 头内容的 string。请注意,多个 Cookie 使用分号和空格分隔(例如,fruit=apple; colour=red )。从 cURL 7.1.0 开始可用。
|
CURLOPT_COOKIEFILE (int) |
包含 Cookie 数据的文件名 string。Cookie 文件可以是 Netscape 格式,也可以只是普通的 HTTP 样式头转储到文件。如果名称为空 string,则不加载任何 Cookie,但仍然启用 Cookie 处理。从 cURL 7.1.0 开始可用。
|
CURLOPT_COOKIEJAR (int) |
保存所有内部 Cookie 的文件名 string,在句柄的析构函数被调用时使用。从 cURL 7.9.0 开始可用。
|
CURLOPT_COOKIELIST (int) |
Cookie string(即 Netscape/Mozilla 格式的单行,或常规的 HTTP 样式 Set-Cookie 头)将该单个 Cookie 添加到内部 Cookie 存储区。 ALL 删除内存中所有 Cookie,SESS 删除内存中所有会话 Cookie,FLUSH 将所有已知 Cookie 写入由 CURLOPT_COOKIEJAR 指定的文件,RELOAD 从由 CURLOPT_COOKIEFILE 指定的文件加载所有 Cookie。从 cURL 7.14.1 开始可用。
|
CURLOPT_COOKIESESSION (int) |
设置为 true 以将其标记为新的 Cookie “会话”。它将强制 cURL 忽略它即将加载的所有来自先前会话的“会话 Cookie”。默认情况下,cURL 始终存储和加载所有 Cookie,而不管它们是会话 Cookie 还是非会话 Cookie。会话 Cookie 是没有过期日期的 Cookie,它们只在本“会话”期间有效。从 cURL 7.9.7 开始可用。
|
CURLOPT_CRLF (int) |
设置为 true 可在传输时将 Unix 换行符转换为 CRLF 换行符。从 cURL 7.1.0 开始可用。
|
CURLOPT_CRLFILE (string) |
传递一个 string,其中包含 CRL(证书吊销列表)(PEM 格式)的串联,用于在 SSL 交换期间发生的证书验证中。当 cURL 构建为使用 GnuTLS 时,无法影响传递的 CRL 的使用方式来帮助验证过程。当 cURL 使用 OpenSSL 支持构建时,X509_V_FLAG_CRL_CHECK 和 X509_V_FLAG_CRL_CHECK_ALL 都已设置,如果传递了 CRL 文件,则需要针对证书链的所有元素进行 CRL 检查。另请注意,由于 OpenSSL 错误,从 cURL 7.71.0 开始,CURLOPT_CRLFILE 意味着 CURLSSLOPT_NO_PARTIALCHAIN 。从 cURL 7.19.0 开始可用。
|
CURLOPT_CUSTOMREQUEST (int) |
在执行 HTTP 请求时,要使用的自定义请求方法,而不是 GET 或 HEAD 。这对于执行 DELETE 或其他更模糊的 HTTP 请求很有用。有效值为 GET 、POST 、CONNECT 等;即不要在此处输入完整的 HTTP 请求行。例如,输入 GET /index.html HTTP/1.0\r\n\r\n 是不正确的。此选项接受 string 或 null 。从 cURL 7.1.0 开始可用。 注意:
在确保服务器首先支持自定义请求方法之前,请勿执行此操作。
|
CURLOPT_DEFAULT_PROTOCOL (int) |
如果 URL 缺少方案名称,则要使用的默认协议 string。从 PHP 7.0.7 和 cURL 7.45.0 开始可用。
|
CURLOPT_DIRLISTONLY (int) |
将此选项设置为 1 将根据其使用的协议产生不同的效果。基于 FTP 和 SFTP 的 URL 只列出目录中文件的名称。POP3 将列出 POP3 服务器上的电子邮件消息。对于 FILE,此选项无效,因为目录始终以这种模式列出。将此选项与 CURLOPT_WILDCARDMATCH 一起使用将阻止后者产生任何影响。默认为 0 。从 cURL 7.17.0 开始可用。
|
CURLOPT_DISALLOW_USERNAME_IN_URL (int) |
设置为 true 以不允许包含用户名 的 URL。默认情况下允许用户名。从 PHP 7.3.0 和 cURL 7.61.0 开始可用。
|
CURLOPT_DNS_CACHE_TIMEOUT (int) |
在内存中保留 DNS 条目的秒数。此选项默认为 120 (2 分钟)。此选项接受任何可以转换为有效 int 的值。从 cURL 7.9.3 开始可用。
|
CURLOPT_DNS_INTERFACE (int) |
设置 DNS 解析器应绑定到的网络接口的名称。这必须是接口名称(而不是地址)。此选项接受 string 或 null 。从 PHP 7.0.7 和 cURL 7.33.0 开始可用。
|
CURLOPT_DNS_LOCAL_IP4 (int) |
设置解析器应绑定到的本地 IPv4 地址。参数应包含单个数字 IPv4 地址。此选项接受 string 或 null 。从 PHP 7.0.7 和 cURL 7.33.0 开始可用。
|
CURLOPT_DNS_LOCAL_IP6 (int) |
设置解析器应绑定到的本地 IPv6 地址。参数应包含单个数字 IPv6 地址。此选项接受 string 或 null 。从 PHP 7.0.7 和 cURL 7.33.0 开始可用。
|
CURLOPT_DNS_SERVERS (int) |
传递一个 string,其中包含要使用的 DNS 服务器的逗号分隔列表,以代替系统默认值(例如:192.168.1.100,192.168.1.101:8080 )。从 cURL 7.24.0 开始可用。
|
CURLOPT_DNS_SHUFFLE_ADDRESSES (int) |
设置为true 可随机打乱所有返回地址的顺序,以便在解析名称时返回多个IP地址时以随机顺序使用它们。这可能会导致IPv4在IPv6之前使用,反之亦然。PHP 7.3.0 和 cURL 7.60.0 版本起可用。
|
CURLOPT_DNS_USE_GLOBAL_CACHE (int) |
设置为true 可使用全局DNS缓存。此选项不是线程安全的。如果PHP构建为非线程使用(CLI、FCGI、Apache2-Prefork等),则默认情况下会条件启用它。cURL 7.9.3 版本起可用,cURL 7.11.1 版本起已弃用。从PHP 8.4开始,此选项不再有任何作用。
|
CURLOPT_DOH_SSL_VERIFYHOST (int) |
设置为2 可将DNS-over-HTTPS服务器的SSL证书名称字段与主机名进行验证。PHP 8.2.0 和 cURL 7.76.0 版本起可用。
|
CURLOPT_DOH_SSL_VERIFYPEER (int) |
设置为1 可启用,设置为0 可禁用对DNS-over-HTTPS服务器SSL证书真实性的验证。PHP 8.2.0 和 cURL 7.76.0 版本起可用。
|
CURLOPT_DOH_SSL_VERIFYSTATUS (int) |
设置为1 可启用,设置为0 可禁用使用“证书状态请求”TLS扩展(OCSP stapling)验证DNS-over-HTTPS服务器证书的状态。PHP 8.2.0 和 cURL 7.76.0 版本起可用。
|
CURLOPT_DOH_URL (int) |
提供DNS-over-HTTPS URL。此选项接受string 或null 。PHP 8.1.0 和 cURL 7.62.0 版本起可用。
|
CURLOPT_EGDSOCKET (int) |
类似于CURLOPT_RANDOM_FILE ,但它是一个指向熵收集守护进程套接字的文件名。cURL 7.7.0 版本起可用,cURL 7.84.0 版本起已弃用。
|
CURLOPT_ENCODING (int) |
作为string 的Accept-Encoding: 头部的内容。这将启用对响应的解码。支持的编码包括:identity 、deflate 、gzip 。如果设置为空string,则会发送包含所有支持编码类型的标头。cURL 7.10 版本起可用,cURL 7.21.6 版本起已弃用。
|
CURLOPT_EXPECT_100_TIMEOUT_MS (int) |
以毫秒为单位的Expect: 100-continue 响应的超时时间。默认为1000 毫秒。此选项接受任何可以转换为有效int 的值。PHP 7.0.7 和 cURL 7.36.0 版本起可用。
|
CURLOPT_FAILONERROR (int) |
设置为true ,如果返回的HTTP代码大于或等于400 ,则会详细地失败。默认行为是正常返回页面,忽略代码。cURL 7.1.0 版本起可用。
|
CURLOPT_FILE (resource) |
接受指向应将传输写入的文件的文件句柄resource。默认值为STDOUT (浏览器窗口)。cURL 7.1.0 版本起可用,cURL 7.9.7 版本起已弃用。
|
CURLOPT_FILETIME (int) |
设置为true 可尝试检索远程文档的修改日期。可以使用CURLINFO_FILETIME 选项和curl_getinfo() 函数检索此值。cURL 7.5.0 版本起可用。
|
CURLOPT_FNMATCH_FUNCTION (int) |
传递一个将用于通配符匹配的callable。回调的签名应为
curlHandle
-
cURL句柄。
pattern
-
通配符模式。
string
-
要对其运行通配符模式匹配的string。
如果模式与string 匹配,则回调应返回CURL_FNMATCHFUNC_MATCH ;如果不匹配,则返回CURL_FNMATCHFUNC_NOMATCH ;如果发生错误,则返回CURL_FNMATCHFUNC_FAIL 。cURL 7.21.0 版本起可用。
|
CURLOPT_FOLLOWLOCATION (int) |
设置为true 可跟踪服务器作为HTTP标头一部分发送的任何Location: 标头。另请参见CURLOPT_MAXREDIRS 。启用open_basedir 时,此常量不可用。cURL 7.1.0 版本起可用。
|
CURLOPT_FORBID_REUSE (int) |
设置为true 可强制连接在完成处理后显式关闭,而不是将其放入池中以供重用。cURL 7.7.0 版本起可用。
|
CURLOPT_FRESH_CONNECT (int) |
设置为true 可强制使用新连接而不是缓存的连接。cURL 7.7.0 版本起可用。
|
CURLOPT_FTPAPPEND (int) |
设置为true 可将内容追加到远程文件,而不是覆盖它。cURL 7.1.0 版本起可用,cURL 7.16.4 版本起已弃用。
|
CURLOPT_FTPASCII (int) |
CURLOPT_TRANSFERTEXT 的别名。请改用它。cURL 7.1 版本起可用,cURL 7.11.1 版本起已弃用,cURL 7.15.5 版本中最后可用。PHP 7.3.0 版本起已移除。
|
CURLOPT_FTPLISTONLY (int) |
设置为true 只列出FTP目录的名称。cURL 7.1.0 版本起可用,cURL 7.16.4 版本起已弃用。
|
CURLOPT_FTPPORT (int) |
一个string,它将用于获取用于FTP PORT 指令的IP地址。PORT 指令告诉远程服务器连接到我们指定的IP地址。string 可以是普通的IP地址、主机名、网络接口名称(在Unix下)或只是一个普通的- (使用系统的默认IP地址)。此选项接受string 或null 。cURL 7.1.0 版本起可用。
|
CURLOPT_FTPSSLAUTH (int) |
将FTP over SSL身份验证方法(如果已激活)设置为任何CURLFTPAUTH_* 常量。默认为CURLFTPAUTH_DEFAULT 。cURL 7.12.2 版本起可用。
|
CURLOPT_FTP_ACCOUNT (int) |
传递一个string,它将作为帐户信息通过FTP(使用ACCT 命令)发送,在向服务器提供用户名和密码之后。设置为null 可禁用发送帐户信息。默认为null 。cURL 7.13.0 版本起可用。
|
CURLOPT_FTP_ALTERNATIVE_TO_USER (int) |
如果`USER/PASS` 协商失败,则传递一个 string 用于尝试进行 FTP 身份验证。从 cURL 7.15.5 开始可用。
|
CURLOPT_FTP_CREATE_MISSING_DIRS (int) |
设置为 true 以在 FTP 操作遇到当前不存在的路径时创建缺失的目录。从 cURL 7.10.7 开始可用。
|
CURLOPT_FTP_FILEMETHOD (int) |
告诉 cURL 使用哪种方法访问 FTP(S) 服务器上的文件。可能的值是任何 CURLFTPMETHOD_* 常量。默认为 CURLFTPMETHOD_MULTICWD 。从 cURL 7.15.1 开始可用。
|
CURLOPT_FTP_RESPONSE_TIMEOUT (int) |
cURL 等待 FTP 服务器响应的超时时间(以秒为单位)。此选项会覆盖 CURLOPT_TIMEOUT 。此选项接受任何可以转换为有效 int 的值。此选项名称已替换为 CURLOPT_SERVER_RESPONSE_TIMEOUT ,从 PHP 8.4.0 开始可用。从 cURL 7.10.8 开始可用,从 cURL 7.85.0 开始弃用。
|
CURLOPT_FTP_SKIP_PASV_IP (int) |
如果此选项设置为 1 ,cURL 将不会使用服务器在其 227 响应中建议的 IP 地址(对 cURL 的 PASV 命令的响应),而是使用它用于连接的 IP 地址。cURL 不会忽略从 227 响应接收到的端口号。从 cURL 7.74.0 开始默认为 1 ,在此之前默认为 0 。从 cURL 7.15.0 开始可用。
|
CURLOPT_FTP_SSL (int) |
从 cURL 7.11.0 开始可用,从 cURL 7.16.4 开始弃用。
|
CURLOPT_FTP_SSL_CCC (int) |
此选项使 cURL 使用 CCC(Clear Command Channel),它会在身份验证后关闭 SSL/TLS 层,使控制通道的其余通信不加密。使用 CURLFTPSSL_CCC_* 常量之一。默认为 CURLFTPSSL_CCC_NONE 。从 cURL 7.16.1 开始可用。
|
CURLOPT_FTP_USE_EPRT (int) |
设置为 true 以在进行主动 FTP 下载时使用 EPRT (和 LPRT )。设置为 false 以禁用 EPRT 和 LPRT ,仅使用 PORT 。从 cURL 7.10.5 开始可用。
|
CURLOPT_FTP_USE_EPSV (int) |
设置为 true 以在回退到 PASV 之前首先尝试 EPSV 命令进行 FTP 传输。设置为 false 以禁用 EPSV 。从 cURL 7.9.2 开始可用。
|
CURLOPT_FTP_USE_PRET (int) |
设置为 1 以在 PASV (和 EPSV )之前发送 PRET 命令。使用主动 FTP 传输模式时无效。默认为 0 。从 cURL 7.20.0 开始可用。
|
CURLOPT_GSSAPI_DELEGATION (int) |
设置为 CURLGSSAPI_DELEGATION_FLAG 以允许无条件的 GSSAPI 凭据委托。设置为 CURLGSSAPI_DELEGATION_POLICY_FLAG 仅在服务票证中设置了 OK-AS-DELEGATE 标志时才进行委托。默认为 CURLGSSAPI_DELEGATION_NONE 。从 cURL 7.22.0 开始可用。
|
CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS (int) |
happy eyeballs 算法中 IPv6 的提前启动时间。happy eyeballs 尝试连接到双栈主机的 IPv4 和 IPv6 地址,优先使用 IPv6,超时时间以毫秒为单位。默认为 CURL_HET_DEFAULT ,目前为 200 毫秒。此选项接受任何可以转换为有效 int 的值。从 PHP 7.3.0 和 cURL 7.59.0 开始可用。
|
CURLOPT_HAPROXYPROTOCOL (int) |
设置为 true 以在连接开始时发送 HAProxy PROXY 协议 v1 头。默认操作是不发送此头。从 PHP 7.3.0 和 cURL 7.60.0 开始可用。
|
设置为 true 以将标头包含在发送到 CURLOPT_WRITEFUNCTION 定义的回调中的输出中。从 cURL 7.1.0 开始可用。
|
具有以下签名的 callable
curlHandle
-
cURL句柄。
headerData
-
必须由回调写入的标头数据。
回调应返回写入的字节数。从 cURL 7.7.2 开始可用。
|
将 HTTP 标头发送到代理和主机,或分别发送。可能的值是任何 CURLHEADER_* 常量。从 cURL 7.42.1 开始默认为 CURLHEADER_SEPARATE ,在此之前默认为 CURLHEADER_UNIFIED 。从 PHP 7.0.7 和 cURL 7.37.0 开始可用。
|
CURLOPT_HSTS (string) |
包含 HSTS (HTTP Strict Transport Security) 缓存文件名的 string,或 null 以允许 HSTS 而不读取或写入任何文件并清除读取 HSTS 数据的文件列表。从 PHP 8.2.0 和 cURL 7.74.0 开始可用。
|
CURLOPT_HSTS_CTRL (int) |
接受由 CURLHSTS_* 常量定义的 HSTS (HTTP Strict Transport Security) 功能的位掩码。从 PHP 8.2.0 和 cURL 7.74.0 开始可用。
|
CURLOPT_HTTP09_ALLOWED (int) |
是否允许 HTTP/0.9 响应。从 cURL 7.66.0 开始默认为 false ;以前默认为 true 。分别从 PHP 7.3.15 和 7.4.3 以及 cURL 7.64.0 开始可用。
|
CURLOPT_HTTP200ALIASES (int) |
将被视为有效响应而不是错误的 HTTP 200 响应的 array。从 cURL 7.10.3 开始可用。
|
CURLOPT_HTTPAUTH (int) |
要使用的 HTTP 身份验证方法的位掩码。选项包括:CURLAUTH_BASIC 、CURLAUTH_DIGEST 、CURLAUTH_GSSNEGOTIATE 、CURLAUTH_NTLM 、CURLAUTH_AWS_SIGV4 、CURLAUTH_ANY 、CURLAUTH_ANYSAFE 。如果使用多种方法,cURL 将轮询服务器以查看其支持的方法并选择最佳方法。CURLAUTH_ANY 设置所有位。cURL 将自动选择它认为最安全的一种。CURLAUTH_ANYSAFE 设置除 CURLAUTH_BASIC 之外的所有位。cURL 将自动选择它认为最安全的一种。从 cURL 7.10.6 开始可用。
|
CURLOPT_HTTPGET (int) |
设置为 **true ** 以将 HTTP 请求方法重置为 GET 。由于 GET 是默认值,因此只有在请求方法已更改时才需要此设置。从 cURL 7.8.1 版本开始可用。
|
要设置的 HTTP 头字段的 数组,格式为 array('Content-type: text/plain', 'Content-length: 100') 从 cURL 7.1.0 版本开始可用。
|
CURLOPT_HTTPPROXYTUNNEL (int) |
设置为 **true ** 以通过指定的 HTTP 代理进行隧道连接。从 cURL 7.3.0 版本开始可用。
|
CURLOPT_HTTP_CONTENT_DECODING (int) |
设置为 **false ** 以获取原始的 HTTP 响应正文。从 cURL 7.16.2 版本开始可用。
|
CURLOPT_HTTP_TRANSFER_DECODING (int) |
如果设置为 0 ,则禁用传输解码。如果设置为 1 ,则启用传输解码。除非此选项设置为 0 ,否则 cURL 默认执行分块传输解码。默认为 1 。从 cURL 7.16.2 版本开始可用。
|
CURLOPT_HTTP_VERSION (int) |
设置为其中一个 **CURL_HTTP_VERSION_* ** 常量,以便 cURL 使用指定的 HTTP 版本。从 cURL 7.9.1 版本开始可用。
|
CURLOPT_IGNORE_CONTENT_LENGTH (int) |
如果设置为 1 ,则忽略 HTTP 响应中的 Content-Length 头,并且忽略请求或依赖于 FTP 传输的该头。默认为 0 。从 cURL 7.14.1 版本开始可用。
|
CURLOPT_INFILE (int) |
接受指向文件的 资源 文件句柄,上传时应从此文件中读取传输数据。从 cURL 7.1.0 版本开始可用,从 cURL 7.9.7 版本开始弃用。请改用 **CURLOPT_READDATA **。
|
CURLOPT_INFILESIZE (int) |
将文件上传到远程站点时,文件的预期大小(以字节为单位)。请注意,使用此选项不会阻止 cURL 发送更多数据,因为发送的确切内容取决于 **CURLOPT_READFUNCTION **。此选项接受任何可以转换为有效 int 的值。从 cURL 7.1.0 版本开始可用。
|
CURLOPT_INTERFACE (int) |
设置为一个包含要使用的出站网络接口名称的 字符串。这可以是接口名称、IP 地址或主机名。从 cURL 7.1.0 版本开始可用。
|
CURLOPT_IPRESOLVE (int) |
允许应用程序选择在解析主机名时要使用的 IP 地址类型。这仅在使用使用多个版本的 IP 解析地址的主机名时才比较重要。设置为其中一个 **CURL_IPRESOLVE_* ** 常量。默认为 **CURL_IPRESOLVE_WHATEVER **。从 cURL 7.10.8 版本开始可用。
|
CURLOPT_ISSUERCERT (int) |
如果设置为一个命名包含 PEM 格式的 CA 证书的文件的 字符串,则会执行针对对等证书的附加检查,以验证颁发者确实是与选项提供的证书关联的颁发者。为了将检查的结果视为失败,此选项应与 **CURLOPT_SSL_VERIFYPEER ** 选项一起使用。从 cURL 7.19.0 版本开始可用。
|
CURLOPT_ISSUERCERT_BLOB (int) |
传递一个包含 PEM 格式的 CA SSL 证书二进制数据的 字符串。如果设置此选项,则会执行针对对等证书的附加检查,以验证颁发者是与选项提供的证书关联的颁发者。从 PHP 8.1.0 和 cURL 7.71.0 版本开始可用。
|
CURLOPT_KEEP_SENDING_ON_ERROR (int) |
设置为 **true ** 以在返回的 HTTP 代码等于或大于 300 时继续发送请求正文。默认操作是停止发送并关闭流或连接。适用于手动 NTLM 身份验证。大多数应用程序不需要此选项。从 PHP 7.3.0 和 cURL 7.51.0 版本开始可用。
|
CURLOPT_KEYPASSWD (int) |
设置为一个包含使用 **CURLOPT_SSLKEY ** 或 **CURLOPT_SSH_PRIVATE_KEYFILE ** 私钥所需的密码的 字符串。将此选项设置为 **null ** 将禁用为这些选项使用密码。从 cURL 7.17.0 版本开始可用。
|
CURLOPT_KRB4LEVEL (int) |
KRB4(Kerberos 4)安全级别。以下任何 字符串 值(按从最弱到最强的顺序排列)都是有效的:clear 、safe 、confidential 、private 。如果 字符串 与这些值都不匹配,则使用 private 。将此选项设置为 **null ** 将禁用 KRB4 安全性。当前,KRB4 安全性仅适用于 FTP 事务。从 cURL 7.3.0 版本开始可用,从 cURL 7.17.0 版本开始弃用。
|
CURLOPT_KRBLEVEL (int) |
设置 FTP 的 Kerberos 安全级别,并启用 Kerberos 感知。这应设置为以下 字符串 之一:clear 、safe 、confidential 、private 。如果 字符串 已设置但与这些值都不匹配,则使用 private 。将此选项设置为 **null ** 将禁用 FTP 的 Kerberos 支持。默认为 **null **。从 cURL 7.16.4 版本开始可用。
|
CURLOPT_LOCALPORT (int) |
设置用于连接的套接字的本地端口号。此选项接受任何可以转换为有效 int 的值。默认为 0 。从 cURL 7.15.2 版本开始可用。
|
CURLOPT_LOCALPORTRANGE (int) |
cURL 尝试查找工作本地端口号的次数,从使用 **CURLOPT_LOCALPORT ** 设置的端口号开始。此选项接受任何可以转换为有效 int 的值。默认为 1 。从 cURL 7.15.2 版本开始可用。
|
CURLOPT_LOGIN_OPTIONS (int) |
可用于设置协议特定的登录选项,例如通过 AUTH=NTLM 或 AUTH=* 设置首选身份验证机制,并且应与 **CURLOPT_USERNAME ** 选项一起使用。从 PHP 7.0.7 和 cURL 7.34.0 版本开始可用。
|
CURLOPT_LOW_SPEED_LIMIT (int) |
传输速度(以每秒字节为单位),在 **CURLOPT_LOW_SPEED_TIME ** 秒的计数期间,传输速度应低于此速度,然后 PHP 才认为传输速度过慢并中止。此选项接受任何可以转换为有效 int 的值。从 cURL 7.1.0 版本开始可用。
|
CURLOPT_LOW_SPEED_TIME (int) |
传输速度应低于 **CURLOPT_LOW_SPEED_LIMIT ** 的秒数,然后 PHP 才认为传输速度过慢并中止。此选项接受任何可以转换为有效 int 的值。从 cURL 7.1.0 版本开始可用。
|
CURLOPT_MAIL_AUTH (int) |
设置为一个包含已提交消息的身份验证地址(标识)的 字符串,该消息正在转发到另一个服务器。地址不应在尖括号 (>< ) 内指定。如果使用空 字符串,则 cURL 会根据 RFC 2554 的要求发送一对括号。从 cURL 7.25.0 版本开始可用。
|
CURLOPT_MAIL_FROM (int) |
发送 SMTP 邮件时,设置为一个包含发件人电子邮件地址的 字符串。电子邮件地址应在尖括号 (>< ) 内指定,如果没有指定,则会自动添加。如果未指定此参数,则会向 SMTP 服务器发送空地址,这可能会导致电子邮件被拒绝。从 cURL 7.20.0 版本开始可用。
|
CURLOPT_MAIL_RCPT (int) |
设置为一个包含要传递到 SMTP 邮件请求中服务器的收件人的 字符串 的 数组。每个收件人都应在尖括号 (>< ) 内指定。如果尖括号不是第一个字符,则 cURL 假设已提供单个电子邮件地址,并将其用括号括起来。从 cURL 7.20.0 版本开始可用。
|
CURLOPT_MAIL_RCPT_ALLLOWFAILS (int) |
设置为 1 以允许 RCPT TO 命令对某些收件人失败,这使得 cURL 忽略单个收件人的错误并继续处理其余已接受的收件人。如果所有收件人都触发失败并且指定了此标志,则 cURL 将中止 SMTP 会话并返回从最后一个 RCPT TO 命令接收到的错误。从 cURL 8.2.0 开始,已由 CURLOPT_MAIL_RCPT_ALLOWFAILS 替换。从 PHP 8.2.0 和 cURL 7.69.0 开始可用。从 cURL 8.2.0 开始已弃用。
|
CURLOPT_MAXAGE_CONN (int) |
允许将现有连接空闲的最大时间视为可重用。默认最大年龄设置为 118 秒。此选项接受任何可以转换为有效 int 的值。从 PHP 8.2.0 和 cURL 7.65.0 开始可用。
|
CURLOPT_MAXCONNECTS (int) |
允许的持久连接的最大数量。达到限制时,缓存中最早的一个连接将被关闭,以防止打开的连接数量增加。此选项接受任何可以转换为有效 int 的值。从 cURL 7.7.0 开始可用。
|
CURLOPT_MAXFILESIZE (int) |
设置要下载的文件的最大可接受大小(以字节为单位)。如果请求的文件大小大于此值,则传输将中止并返回 CURLE_FILESIZE_EXCEEDED 。传递 0 将禁用此选项,传递负大小将返回 CURLE_BAD_FUNCTION_ARGUMENT 。如果在下载开始之前不知道文件大小,则此选项无效。要设置大于 2GB 的大小限制,应使用 CURLOPT_MAXFILESIZE_LARGE 。从 cURL 8.4.0 开始,如果正在进行的传输达到此阈值,此选项也会停止传输。此选项接受任何可以转换为有效 int 的值。默认为 0 。从 cURL 7.10.8 开始可用。
|
CURLOPT_MAXFILESIZE_LARGE (int) |
允许下载的最大文件大小(以字节为单位)。如果请求的文件大小大于此值,则传输将不会开始,并且将返回 CURLE_FILESIZE_EXCEEDED 。在下载之前并不总是知道文件大小,对于此类文件,即使文件传输最终大于此给定限制,此选项也无效。此选项接受任何可以转换为有效 int 的值。从 PHP 8.2.0 和 cURL 7.11.0 开始可用。
|
CURLOPT_MAXLIFETIME_CONN (int) |
自连接创建以来,允许现有连接具有可重用时间的最大秒数。如果在缓存中找到比此值旧的连接,则在任何正在进行的传输完成后,它将被关闭。默认值为 0 秒,这意味着选项被禁用,所有连接都符合重用条件。此选项接受任何可以转换为有效 int 的值。从 PHP 8.2.0 和 cURL 7.80.0 开始可用。
|
CURLOPT_MAXREDIRS (int) |
要遵循的 HTTP 重定向的最大数量。将此选项与 CURLOPT_FOLLOWLOCATION 一起使用。设置为 20 的默认值用于防止无限重定向。设置为 -1 允许无限重定向,0 拒绝所有重定向。从 cURL 7.5.0 开始可用。
|
CURLOPT_MAX_RECV_SPEED_LARGE (int) |
如果下载在传输过程中累积平均速度超过此速度(以每秒字节数计算),则传输将暂停以保持平均速率小于或等于参数值。默认为无限速度。此选项接受任何可以转换为有效 int 的值。从 cURL 7.15.5 开始可用。
|
CURLOPT_MAX_SEND_SPEED_LARGE (int) |
如果上传在传输过程中累积平均速度超过此速度(以每秒字节数计算),则传输将暂停以保持平均速率小于或等于参数值。默认为无限速度。此选项接受任何可以转换为有效 int 的值。从 cURL 7.15.5 开始可用。
|
CURLOPT_MIME_OPTIONS (int) |
设置为 CURLMIMEOPT_* 常量的位掩码。目前只有一个可用选项:CURLMIMEOPT_FORMESCAPE 。从 PHP 8.3.0 和 cURL 7.81.0 开始可用。
|
CURLOPT_MUTE (int) |
设置为 true 以完全静默 cURL 函数。请改用 CURLOPT_RETURNTRANSFER 。从 cURL 7.1.0 开始可用,从 cURL 7.8.0 开始弃用,并在 cURL 7.15.5 中最后可用。从 PHP 7.3.0 开始移除。
|
CURLOPT_NETRC (int) |
设置为 true 以扫描 ~/.netrc 文件以查找正在建立连接的远程站点的用户名和密码。从 cURL 7.1.0 开始可用。
|
CURLOPT_NETRC_FILE (string) |
设置一个包含 .netrc 文件完整路径名的 string。如果省略此选项并且设置了 CURLOPT_NETRC ,则 cURL 会检查当前用户主目录中的 .netrc 文件。从 cURL 7.11.0 开始可用。
|
CURLOPT_NEW_DIRECTORY_PERMS (int) |
设置在远程服务器上新创建的目录上设置的权限值(int)。默认值为 0755 。唯一可以使用此功能的协议是 sftp:// 、scp:// 和 file:// 。从 cURL 7.16.4 开始可用。
|
CURLOPT_NEW_FILE_PERMS (int) |
设置在远程服务器上新创建的文件上设置的权限值(作为 int)。默认值为 0644 。唯一可以使用此功能的协议是 sftp:// 、scp:// 和 file:// 。从 cURL 7.16.4 开始可用。
|
CURLOPT_NOBODY (int) |
设置为 true 以从输出中排除正文。对于 HTTP(S),cURL 会发出 HEAD 请求。对于大多数其他协议,cURL 根本不会请求正文数据。将其更改为 false 将导致正文数据包含在输出中。从 cURL 7.1.0 开始可用。
|
CURLOPT_NOPROGRESS (int) |
设置为 true 以禁用 cURL 传输的进度指示器。 注意:
PHP 会自动将此选项设置为 true ,仅应出于调试目的更改此选项。
从 cURL 7.1.0 开始可用。
|
CURLOPT_NOPROXY (string) |
设置一个由逗号分隔的主机名列表组成的 string,这些主机名不需要代理即可访问。此列表中的每个名称都匹配为包含主机名的域或主机名本身。此 string 中唯一可用的通配符是单个 * 字符,它匹配所有主机,有效地禁用了代理。将此选项设置为空 string 将为所有主机名启用代理。从 cURL 7.86.0 开始,使用此选项设置的 IP 地址可以使用 CIDR 表示法提供。从 cURL 7.19.4 开始可用。
|
CURLOPT_NOSIGNAL (int) |
true 以忽略任何导致向 PHP 进程发送信号的 cURL 函数。这在多线程 SAPI 中默认启用,因此仍然可以使用超时选项。从 cURL 7.10 开始可用。
|
CURLOPT_PASSWDFUNCTION (int) |
具有以下签名的 callable
curlHandle
-
cURL句柄。
passwordPrompt
-
密码提示。
maximumPasswordLength
-
密码的最大长度。
回调应该返回一个包含密码的 string。从 cURL 7.4.2 开始可用,从 cURL 7.11.1 开始弃用,并在 cURL 7.15.5 中最后可用。从 PHP 7.3.0 开始移除。
|
CURLOPT_PASSWORD (int) |
设置为一个包含要用于身份验证的密码的 string。从 cURL 7.19.1 开始可用。
|
CURLOPT_PATH_AS_IS (int) |
设置为 true 以使 cURL 在将 URL 路径传递给服务器之前不更改它们。默认为 false ,它会压缩 URL 路径部分中可能存在的 /../ 或 /./ 序列,这些序列应该根据 RFC 3986 第 5.2.4 节移除。从 PHP 7.0.7 和 cURL 7.42.0 开始可用。
|
CURLOPT_PINNEDPUBLICKEY (int) |
设置一个包含已固定公钥的字符串。该字符串可以是PEM或DER文件格式的已固定公钥的文件名。该字符串也可以是任意数量以sha256// 开头并以; 分隔的base64编码的sha256哈希值。 从PHP 7.0.7和cURL 7.39.0版本开始可用。
|
CURLOPT_PIPEWAIT (整数) |
设置为true 以等待现有连接确认其是否可以进行多路复用,如果可以则使用它,然后再创建和使用新连接。 从PHP 7.0.7和cURL 7.43.0版本开始可用。
|
CURLOPT_PORT (整数) |
一个整数,表示要连接到的备用端口号,而不是URL中指定的端口号或所用协议的默认端口号。 从cURL 7.1.0版本开始可用。
|
CURLOPT_POST (整数) |
设置为true 以执行HTTP POST 请求。此请求使用application/x-www-form-urlencoded 标头。默认为false 。 从cURL 7.1.0版本开始可用。
|
CURLOPT_POSTFIELDS (整数) |
在HTTP POST 操作中要发布的完整数据。此参数可以作为URL编码的字符串传递,例如'para1=val1¶2=val2&... ',也可以作为数组传递,其中字段名称作为键,字段数据作为值。如果value 是数组,则Content-Type 标头将设置为multipart/form-data 。可以使用CURLFile或CURLStringFile发送文件,在这种情况下,value 必须是数组。 从cURL 7.1.0版本开始可用。
|
CURLOPT_POSTQUOTE (整数) |
一个包含FTP命令字符串的数组,用于在执行FTP请求后在服务器上执行。 从cURL 7.1.0版本开始可用。
|
CURLOPT_POSTREDIR (整数) |
如果在设置CURLOPT_FOLLOWLOCATION 并发生特定类型的重定向时应保持HTTP POST 方法,则将其设置为CURL_REDIR_POST_301 、CURL_REDIR_POST_302 和CURL_REDIR_POST_303 的位掩码。 从cURL 7.19.1版本开始可用。
|
CURLOPT_PRE_PROXY (整数) |
设置一个字符串,其中包含用作预代理的主机名或点分十进制IP地址,cURL在连接到CURLOPT_PROXY 选项中指定的HTTP(S)代理之前连接到该预代理。预代理只能是SOCKS代理,并且应该以[scheme]:// 为前缀以指定使用哪种socks。带括号的数值IPv6地址必须写在括号内。将预代理设置为一个空字符串会显式禁用预代理的使用。要在此字符串中指定端口号,请将:[port] 附加到主机名的末尾。代理的端口号也可以使用单独的选项CURLOPT_PROXYPORT 指定。如果未指定端口,则默认为使用端口1080进行代理。 从PHP 7.3.0和cURL 7.52.0版本开始可用。
|
CURLOPT_PREQUOTE (整数) |
设置一个包含FTP命令字符串的数组,用于在设置传输类型后传递给服务器。在执行目录列表时不会执行这些命令,仅对文件传输执行。 从cURL 7.9.5版本开始可用。
|
CURLOPT_PRIVATE (整数) |
应与该cURL句柄关联的任何数据。随后可以使用curl_getinfo()的CURLINFO_PRIVATE 选项检索此数据。cURL不会对此数据执行任何操作。使用cURL多句柄时,此私有数据通常是标识标准cURL句柄的唯一键。 从cURL 7.10.3版本开始可用。
|
CURLOPT_PROGRESSFUNCTION (整数) |
具有以下签名的 callable
回调函数( 资源 $curlHandle , 整数 $bytesToDownload , 整数 $bytesDownloaded , 整数 $bytesToUpload , 整数 $bytesUploaded ): 整数
curlHandle
-
cURL句柄。
bytesToDownload
-
此传输中预期下载的总字节数。
bytesDownloaded
-
到目前为止已下载的字节数。
bytesToUpload
-
此传输中预期上传的总字节数。
bytesUploaded
-
到目前为止已上传的字节数。
回调函数应返回一个整数,其值为非零值,以中止传输并设置CURLE_ABORTED_BY_CALLBACK 错误。注意:
仅当CURLOPT_NOPROGRESS 选项设置为false 时,才会调用回调函数。
从cURL 7.1.0版本开始可用,从cURL 7.32.0版本开始弃用。请改用CURLOPT_XFERINFOFUNCTION 。
|
CURLOPT_PROTOCOLS (整数) |
CURLPROTO_* 值的位掩码。如果使用,此位掩码将限制cURL在传输中可能使用的协议。默认为CURLPROTO_ALL ,即cURL将接受其支持的所有协议。另请参见CURLOPT_REDIR_PROTOCOLS 。 从cURL 7.19.4版本开始可用,从cURL 7.85.0版本开始弃用。
|
CURLOPT_PROTOCOLS_STR (整数) |
设置为一个字符串,其中包含允许在传输中使用的协议名称(URL方案)的不区分大小写的逗号分隔列表。设置为ALL 以启用所有协议。默认情况下,cURL接受其构建时支持的所有协议。可用的协议包括:DICT 、FILE 、FTP 、FTPS 、GOPHER 、GOPHERS 、HTTP 、HTTPS 、IMAP 、IMAPS 、LDAP 、LDAPS 、MQTT 、POP3 、POP3S 、RTMP 、RTMPE 、RTMPS 、RTMPT 、RTMPTE 、RTMPTS 、RTSP 、SCP 、SFTP 、SMB 、SMBS 、SMTP 、SMTPS 、TELNET 、TFTP 、WS 、WSS 。 从PHP 8.3.0和cURL 7.85.0版本开始可用。
|
CURLOPT_PROXY (整数) |
一个字符串,包含要通过其隧道请求的HTTP代理。这应该是主机名、点分十进制IP地址或用括号括起来的数值IPv6地址。 从cURL 7.1.0版本开始可用。
|
CURLOPT_PROXYAUTH (整数) |
要用于代理连接的HTTP身份验证方法(CURLAUTH_* 常量)的位掩码。对于代理身份验证,目前仅支持CURLAUTH_BASIC 和CURLAUTH_NTLM 。默认为CURLAUTH_BASIC 。 从cURL 7.10.7版本开始可用。
|
一个包含自定义HTTP标头字符串的数组,用于传递给代理。 从PHP 7.0.7和cURL 7.37.0版本开始可用。
|
CURLOPT_PROXYPASSWORD (整数) |
设置一个字符串,其中包含要用于与代理进行身份验证的密码。 从cURL 7.19.1版本开始可用。
|
CURLOPT_PROXYPORT (整数) |
一个表示要连接到的代理服务器端口号的int类型整数。此端口号也可以在CURLOPT_PROXY 中设置。将其设置为零将使cURL使用默认的代理端口号或在代理URL string字符串中指定的端口号。 从cURL 7.1.0版本开始可用。
|
CURLOPT_PROXYTYPE (int) |
将代理类型设置为CURLPROXY_* 常量之一。默认为CURLPROXY_HTTP 。从cURL 7.10版本开始可用。
|
CURLOPT_PROXYUSERNAME (int) |
设置一个用于与代理进行身份验证的用户名string字符串。从cURL 7.19.1版本开始可用。
|
CURLOPT_PROXYUSERPWD (int) |
一个string字符串,包含用户名和密码,格式为[username]:[password] ,用于连接到代理。从cURL 7.1.0版本开始可用。
|
CURLOPT_PROXY_CAINFO (int) |
代理证书颁发机构 (CA) 捆绑包的路径。设置为一个string字符串,指定包含一个或多个证书的文件的名称,用于验证 HTTPS 代理。此选项用于连接到 HTTPS 代理,而不是 HTTPS 服务器。默认为cURL的cacert捆绑包的系统路径。从PHP 7.3.0和cURL 7.52.0版本开始可用。
|
CURLOPT_PROXY_CAINFO_BLOB (int) |
一个string字符串,包含PEM文件的名称,该文件包含一个或多个证书,用于验证 HTTPS 代理。此选项用于连接到 HTTPS 代理,而不是 HTTPS 服务器。默认为cURL的cacert捆绑包的系统路径。从PHP 8.2.0和cURL 7.77.0版本开始可用。
|
CURLOPT_PROXY_CAPATH (int) |
一个string字符串,包含用于验证 HTTPS 代理的多个 CA 证书所在的目录。从PHP 7.3.0和cURL 7.52.0版本开始可用。
|
CURLOPT_PROXY_CRLFILE (int) |
设置为一个string字符串,包含PEM格式的CRL(证书吊销列表)连接的文件名,用于在SSL交换期间发生的证书验证中。从PHP 7.3.0和cURL 7.52.0版本开始可用。
|
CURLOPT_PROXY_ISSUERCERT (string类型整数) |
代理颁发者SSL证书文件名string字符串。从PHP 8.1.0和cURL 7.71.0版本开始可用。
|
CURLOPT_PROXY_ISSUERCERT_BLOB (int) |
一个string字符串,包含代理颁发者SSL证书。从PHP 8.1.0和cURL 7.71.0版本开始可用。
|
CURLOPT_PROXY_KEYPASSWD (int) |
设置string字符串,用作使用CURLOPT_PROXY_SSLKEY 私钥所需的密码。加载证书不需要密码,但加载私钥需要密码。此选项用于连接到 HTTPS 代理,而不是 HTTPS 服务器。从PHP 7.3.0和cURL 7.52.0版本开始可用。
|
CURLOPT_PROXY_PINNEDPUBLICKEY (int) |
设置HTTPS代理的固定公钥。string字符串可以是固定公钥的文件名,该文件名应为PEM 或DER 文件格式。string字符串也可以是任意数量的base64编码的sha256哈希值,前面是sha256// ,并用; 分隔。从PHP 7.3.0和cURL 7.52.0版本开始可用。
|
CURLOPT_PROXY_SERVICE_NAME (int) |
一个string字符串,包含代理身份验证服务名称。从PHP 7.0.7、cURL 7.43.0(对于HTTP代理)和cURL 7.49.0(对于SOCKS5代理)版本开始可用。
|
CURLOPT_PROXY_SSLCERT (int) |
一个string字符串,包含用于连接到HTTPS代理的客户端证书的文件名。默认格式在安全传输上为P12 ,在其他引擎上为PEM ,可以使用CURLOPT_PROXY_SSLCERTTYPE 更改。使用NSS或安全传输时,这也可以是用于身份验证的证书的昵称,因为它是安全数据库中的名称。如果要使用当前目录中的文件,则必须在前面加上./ ,以避免与昵称混淆。从PHP 7.3.0和cURL 7.52.0版本开始可用。
|
CURLOPT_PROXY_SSLCERTTYPE (int) |
一个string字符串,包含连接到HTTPS代理时使用的客户端证书的格式。支持的格式为PEM 和DER ,安全传输除外。OpenSSL(0.9.3及更高版本)和安全传输(iOS 5或更高版本,或OS X 10.7或更高版本)也支持P12 (用于PKCS#12编码的文件)。默认为PEM 。从PHP 7.3.0和cURL 7.52.0版本开始可用。
|
CURLOPT_PROXY_SSLCERT_BLOB (int) |
一个string字符串,包含SSL代理客户端证书。从PHP 8.1.0和cURL 7.71.0版本开始可用。
|
CURLOPT_PROXY_SSLKEY (int) |
一个string字符串,包含用于连接到HTTPS代理的私钥的文件名。默认格式为PEM ,可以使用CURLOPT_PROXY_SSLKEYTYPE 更改。(仅限iOS和Mac OS X)如果cURL是针对安全传输构建的,则忽略此选项。如果使用TLS启用构建,则可用。从PHP 7.3.0和cURL 7.52.0版本开始可用。
|
CURLOPT_PROXY_SSLKEYTYPE (int) |
一个string字符串,包含私钥的格式。支持的格式为:PEM 、DER 、ENG 。从PHP 7.3.0和cURL 7.52.0版本开始可用。
|
CURLOPT_PROXY_SSLKEY_BLOB (int) |
一个string字符串,包含用于连接到HTTPS代理的私钥。从PHP 8.1.0和cURL 7.71.0版本开始可用。
|
CURLOPT_PROXY_SSLVERSION (int) |
将首选的HTTPS代理TLS版本设置为CURL_SSLVERSION_* 常量之一。默认为CURL_SSLVERSION_DEFAULT 。 从PHP 7.3.0和cURL 7.52.0版本开始可用。
|
CURLOPT_PROXY_SSL_CIPHER_LIST (int) |
一个string字符串,包含用于连接到HTTPS代理的密码的冒号分隔列表。与OpenSSL一起使用时,逗号和空格也可以作为分隔符,并且可以使用! 、- 和+ 作为运算符。从PHP 7.3.0和cURL 7.52.0版本开始可用。
|
CURLOPT_PROXY_SSL_OPTIONS (int) |
设置代理SSL行为选项,它是CURLSSLOPT_* 常量的位掩码。从PHP 7.3.0和cURL 7.52.0版本开始可用。
|
CURLOPT_PROXY_SSL_VERIFYHOST (int) |
设置为2 以验证HTTPS代理的证书名称字段与代理名称是否匹配。设置为0 时,无论证书中使用的名称如何,连接都将成功。谨慎使用此功能!在cURL 7.28.0及更早版本中设置为1 作为调试选项。在cURL 7.28.1到7.65.3中设置为1 时将返回CURLE_BAD_FUNCTION_ARGUMENT 。从cURL 7.66.0开始,1 和2 被视为相同的值。默认为2 。在生产环境中,此选项的值应保持为2 。从PHP 7.3.0和cURL 7.52.0版本开始可用。
|
CURLOPT_PROXY_SSL_VERIFYPEER (int) |
设置为false 以阻止cURL验证对等方的证书。可以使用CURLOPT_CAINFO 选项指定要验证的替代证书,或者可以使用CURLOPT_CAPATH 选项指定证书目录。设置为false 时,对等方证书验证将始终成功。默认为true 。从PHP 7.3.0和cURL 7.52.0版本开始可用。
|
CURLOPT_PROXY_TLS13_CIPHERS (int) |
一个用冒号分隔的密码列表字符串,用于与代理的 TLS 1.3 连接。此选项目前仅在 cURL 使用 OpenSSL 1.1.1 或更高版本构建时使用。当使用不同的 SSL 后端时,可以使用 **CURLOPT_PROXY_SSL_CIPHER_LIST ** 选项设置 TLS 1.3 密码套件。PHP 7.3.0 和 cURL 7.61.0 版本可用。
|
CURLOPT_PROXY_TLSAUTH_PASSWORD (int) |
一个字符串,包含用于通过 **CURLOPT_PROXY_TLSAUTH_TYPE ** 选项指定的 TLS 身份验证方法的密码。需要同时设置 **CURLOPT_PROXY_TLSAUTH_USERNAME ** 选项。PHP 7.3.0 和 cURL 7.52.0 版本可用。
|
CURLOPT_PROXY_TLSAUTH_TYPE (int) |
用于 HTTPS 连接的 TLS 身份验证方法。支持的方法为 SRP 。 注意:
如果双方共享一个密钥,则用于 TLS 的安全远程密码 (SRP) 身份验证可以提供相互身份验证。要使用 TLS-SRP,还必须设置 **CURLOPT_PROXY_TLSAUTH_USERNAME ** 和 **CURLOPT_PROXY_TLSAUTH_PASSWORD ** 选项。
从PHP 7.3.0和cURL 7.52.0版本开始可用。
|
CURLOPT_PROXY_TLSAUTH_USERNAME (int) |
用于通过 **CURLOPT_PROXY_TLSAUTH_TYPE ** 选项指定的 HTTPS 代理 TLS 身份验证方法的用户名。需要同时设置 **CURLOPT_PROXY_TLSAUTH_PASSWORD ** 选项。PHP 7.3.0 和 cURL 7.52.0 版本可用。
|
CURLOPT_PROXY_TRANSFER_MODE (int) |
设置为 1 以设置通过 HTTP 代理执行的 FTP 传输的传输模式(二进制或 ASCII),方法是在 URL 后附加 type=a 或 type=i 。如果没有此设置或将其设置为 0 ,则在通过代理执行 FTP 时,**CURLOPT_TRANSFERTEXT ** 将无效。默认为 0 。cURL 7.18.0 版本可用。
|
CURLOPT_PUT (int) |
设置为true 以执行 HTTP PUT 文件操作。要 PUT 的文件必须使用 **CURLOPT_READDATA ** 和 **CURLOPT_INFILESIZE ** 设置。cURL 7.1.0 版本可用,cURL 7.12.1 版本已弃用。
|
CURLOPT_QUICK_EXIT (int) |
设置为true 以使 cURL 在从超时恢复时跳过资源清理。这允许快速终止 cURL 进程,但可能会导致关联资源泄漏。PHP 8.3.0 和 cURL 7.87.0 版本可用。
|
CURLOPT_QUOTE (int) |
一个 FTP 命令字符串数组,用于在 FTP 请求之前在服务器上执行。cURL 7.1.0 版本可用。
|
CURLOPT_RANDOM_FILE (int) |
一个字符串,包含用于为 SSL 播种随机数生成器的文件名。cURL 7.7.0 版本可用,cURL 7.84.0 版本已弃用。
|
CURLOPT_RANGE (int) |
一个字符串,包含要检索的数据范围,格式为 X-Y ,其中 X 或 Y 可选。HTTP 传输还支持多个区间,用逗号分隔,格式为 X-Y,N-M 。设置为null 以禁用请求字节范围。cURL 7.1.0 版本可用。
|
CURLOPT_READDATA (int) |
设置一个文件指针资源,该资源将由使用 **CURLOPT_READFUNCTION ** 设置的文件读取函数使用。cURL 7.9.7 版本可用。
|
CURLOPT_READFUNCTION (int) |
具有以下签名的 callable
curlHandle
-
cURL句柄。
streamResource
-
通过选项 **
CURLOPT_READDATA ** 提供给 cURL 的流资源。
maxAmountOfDataToRead
-
要读取的最大数据量。
回调函数应返回一个字符串,其长度等于或小于请求的数据量,通常通过从传递的流资源中读取数据来实现。它应该返回一个空字符串来表示 EOF 。cURL 7.1.0 版本可用。
|
CURLOPT_REDIR_PROTOCOLS (int) |
**CURLPROTO_* ** 值的位掩码,它限制了 cURL 在启用 **CURLOPT_FOLLOWLOCATION ** 时,在重定向中跟随的传输中可以使用哪些协议。这允许将特定传输限制为仅允许在重定向中使用子集协议。从 cURL 7.19.4 开始,默认情况下,cURL 将允许所有协议,除了 FILE 和 SCP 。在 cURL 7.19.4 之前,cURL 将无条件地跟随所有支持的协议。另请参阅 **CURLOPT_PROTOCOLS ** 获取协议常量值。cURL 7.19.4 版本可用,cURL 7.85.0 版本已弃用。
|
CURLOPT_REDIR_PROTOCOLS_STR (int) |
设置为一个字符串,其中包含逗号分隔的协议名称(URL 方案)列表(不区分大小写),允许在启用 **CURLOPT_FOLLOWLOCATION ** 时在重定向中跟随。设置为 ALL 以启用所有协议。从 cURL 7.65.2 开始,它默认为 FTP 、FTPS 、HTTP 和 HTTPS 。从 cURL 7.40.0 到 7.65.1,它默认为除 FILE 、SCP 、SMB 和 SMBS 之外的所有协议。在 cURL 7.40.0 之前,它默认为除 FILE 和 SCP 之外的所有协议。可用协议为:DICT 、FILE 、FTP 、FTPS 、GOPHER 、GOPHERS 、HTTP 、HTTPS 、IMAP 、IMAPS 、LDAP 、LDAPS 、MQTT 、POP3 、POP3S 、RTMP 、RTMPE 、RTMPS 、RTMPT 、RTMPTE 、RTMPTS 、RTSP 、SCP 、SFTP 、SMB 、SMBS 、SMTP 、SMTPS 、TELNET 、TFTP 、WS 、WSS 。PHP 8.3.0 和 cURL 7.85.0 版本可用。
|
CURLOPT_REFERER (int) |
一个字符串,包含要在 HTTP 请求中使用的 Referer: 头的内容。cURL 7.1.0 版本可用。
|
CURLOPT_REQUEST_TARGET (int) |
一个字符串,用于在即将发出的请求中代替从 URL 中提取的路径。PHP 7.3.0 和 cURL 7.55.0 版本可用。
|
CURLOPT_RESOLVE (int) |
提供一个冒号分隔的字符串数组,其中包含特定主机和端口对的自定义地址,格式如下: array( "example.com:80:127.0.0.1", "example2.com:443:127.0.0.2", ) cURL 7.21.3 版本可用。
|
CURLOPT_RESUME_FROM (int) |
以字节为单位的偏移量,用于从该偏移量恢复传输。此选项接受任何可以转换为有效整数的值。cURL 7.1.0 版本可用。
|
CURLOPT_RETURNTRANSFER (int) |
设置为true 以将传输作为 curl_exec() 返回值的字符串返回,而不是直接输出它。
|
CURLOPT_RTSP_CLIENT_CSEQ (int) |
设置一个整数,用于为下一个 RTSP 请求发出 CSEQ 编号。如果应用程序正在恢复先前断开的连接,则很有用。此后,CSEQ 将从此新编号递增。默认为 0 。cURL 7.20.0 版本可用。
|
CURLOPT_RTSP_REQUEST (int) |
设置要发出的 RTSP 请求类型。必须是 **CURL_RTSPREQ_* ** 常量之一。cURL 7.20.0 及更高版本可用。
|
CURLOPT_RTSP_SERVER_CSEQ (int) |
设置一个 int,表示下一个 RTSP 服务器到客户端请求的预期 CSEQ 编号。此功能(侦听服务器请求)未实现。默认为 0 。cURL 7.20.0 及更高版本可用。
|
CURLOPT_RTSP_SESSION_ID (int) |
设置一个 string,表示句柄的当前 RTSP 会话 ID 的值。一旦此值设置为任何非 **null ** 值,如果从服务器接收到的 ID 不匹配,则 cURL 返回 **CURLE_RTSP_SESSION_ERROR **。如果设置为 **null **,则 cURL 会在服务器第一次在响应中设置 ID 时自动设置 ID。默认为 **null **。cURL 7.20.0 及更高版本可用。
|
CURLOPT_RTSP_STREAM_URI (int) |
设置一个 string,表示要操作的流 URI。如果未设置,cURL 默认通过在 RTSP 流 URI 的位置传递 * 来操作通用服务器选项。在使用 RTSP 时,CURLOPT_RTSP_STREAM_URI 指示在请求头中发送到服务器的 URL,而 CURLOPT_URL 指示连接的位置。cURL 7.20.0 及更高版本可用。
|
CURLOPT_RTSP_TRANSPORT (int) |
设置此 RTSP 会话的 Transport: 头。cURL 7.20.0 及更高版本可用。
|
CURLOPT_SAFE_UPLOAD (int) |
始终为 **true **,这会禁用对在 **CURLOPT_POSTFIELDS ** 中上传文件时使用 @ 前缀的支持,这意味着以 @ 开头的值可以安全地作为字段传递。CURLFile 可用于上传。
|
CURLOPT_SASL_AUTHZID (string) |
传输的授权标识 (authzid) string。仅适用于 PLAIN SASL 身份验证机制,在该机制中它是可选的。未指定时,只有用户名指定的授权标识 (authcid) 以及密码将发送到服务器。服务器在未提供时将从 authcid 派生 authzid,然后在内部使用它。PHP 8.2.0 和 cURL 7.66.0 及更高版本可用。
|
CURLOPT_SASL_IR (int) |
true 表示启用在第一个数据包中发送初始响应。PHP 7.0.7 和 cURL 7.31.0 及更高版本可用。
|
CURLOPT_SERVICE_NAME (string) |
一个 string,包含身份验证服务名称。PHP 7.0.7 和 cURL 7.43.0 及更高版本可用。
|
CURLOPT_SHARE (int) |
curl_share_init() 的结果。使 cURL 句柄使用共享句柄中的数据。cURL 7.10 及更高版本可用。
|
CURLOPT_SOCKS5_AUTH (int) |
要使用的 SOCKS5 身份验证方法。选项包括:CURLAUTH_BASIC , CURLAUTH_GSSAPI , CURLAUTH_NONE 。设置多个方法时,cURL 将轮询服务器以查看其支持哪些方法并选择最佳方法。默认为 CURLAUTH_BASIC|CURLAUTH_GSSAPI 。使用 **CURLOPT_PROXYUSERPWD ** 选项设置实际用户名和密码。PHP 7.3.0 和 cURL 7.55.0 及更高版本可用。
|
CURLOPT_SOCKS5_GSSAPI_NEC (int) |
设置为 1 表示启用,设置为 0 表示禁用作为 GSSAPI 协商一部分的保护模式协商的非保护交换。cURL 7.19.4 及更高版本可用。
|
CURLOPT_SOCKS5_GSSAPI_SERVICE (string) |
设置一个 string,包含 SOCKS5 服务的名称。默认为 rcmd 。cURL 7.19.4 及更高版本可用,cURL 7.49.0 及更高版本已弃用。请改用 **CURLOPT_PROXY_SERVICE_NAME **。
|
CURLOPT_SSH_AUTH_TYPES (int) |
一个位掩码,由一个或多个以下常量组成:CURLSSH_AUTH_PUBLICKEY , CURLSSH_AUTH_PASSWORD , CURLSSH_AUTH_HOST , CURLSSH_AUTH_KEYBOARD , CURLSSH_AUTH_AGENT , CURLSSH_AUTH_ANY 。默认为 **CURLSSH_AUTH_ANY **。cURL 7.16.1 及更高版本可用。
|
CURLOPT_SSH_COMPRESSION (int) |
true 表示启用,false 表示禁用内置 SSH 压缩。请注意,服务器可以忽略此请求。默认为 **false **。PHP 7.3.0 和 cURL 7.56.0 及更高版本可用。
|
CURLOPT_SSH_HOSTKEYFUNCTION (callable) |
当需要 SSH 主机密钥验证时将调用的 callable。回调必须具有以下签名
curlHandle
-
cURL句柄。
keyType
-
CURLKHTYPE_* 密钥类型之一。
key
-
要检查的密钥。
keyLength
-
密钥的长度(以字节为单位)。
此回调会覆盖 **CURLOPT_SSH_KNOWNHOSTS **。PHP 8.3.0 和 cURL 7.84.0 及更高版本可用。
|
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 (string) |
一个包含 32 个十六进制数字的 string,应包含远程主机公钥的 MD5 校验和,除非 md5sums 匹配,否则 cURL 将拒绝与主机的连接。此选项仅适用于 SCP 和 SFTP 传输。cURL 7.17.1 及更高版本可用。
|
CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256 (string) |
一个 string,包含远程主机公钥的 base64 编码 SHA256 哈希值。如果给定的哈希值与远程主机提供的哈希值不匹配,则传输将失败。PHP 8.2.0 和 cURL 7.80.0 及更高版本可用。
|
CURLOPT_SSH_KNOWNHOSTS (int) |
设置为要使用的 known_host 文件的文件名,该文件应使用 libssh2 支持的 OpenSSH 文件格式。cURL 7.19.6 及更高版本可用。
|
CURLOPT_SSH_PRIVATE_KEYFILE (int) |
私钥的文件名。如果未使用,则如果设置了 HOME 环境变量,cURL 默认使用 $HOME/.ssh/id_dsa,如果未设置 HOME,则在当前目录中使用 id_dsa 。如果文件受密码保护,请使用 **CURLOPT_KEYPASSWD ** 设置密码。cURL 7.16.1 及更高版本可用。
|
CURLOPT_SSH_PUBLIC_KEYFILE (int) |
公钥的文件名。如果未使用,则如果设置了 HOME 环境变量,cURL 默认使用 $HOME/.ssh/id_dsa.pub,如果未设置 HOME,则在当前目录中使用 id_dsa.pub 。cURL 7.16.1 及更高版本可用。
|
CURLOPT_SSLCERT (int) |
包含 PEM 格式证书的文件名。cURL 7.1.0 及更高版本可用。
|
CURLOPT_SSLCERTPASSWD (int) |
使用 **CURLOPT_SSLCERT ** 证书所需的密码。cURL 7.1.0 及更高版本可用,cURL 7.17.0 及更高版本已弃用。
|
CURLOPT_SSLCERTTYPE (string) |
一个 string,包含证书的格式。支持的格式包括:PEM , DER , ENG , P12 。P12 (用于 PKCS#12 编码的文件)自 OpenSSL 0.9.3 起可用。默认为 PEM 。cURL 7.9.3 及更高版本可用。
|
CURLOPT_SSLCERT_BLOB (string) |
一个 string,包含 SSL 客户端证书。PHP 8.1.0 和 cURL 7.71.0 及更高版本可用。
|
CURLOPT_SSLENGINE (string) |
CURLOPT_SSLKEY 中指定的私有 SSL 密钥的加密引擎的 string 标识符。cURL 7.9.3 及更高版本可用。
|
CURLOPT_SSLENGINE_DEFAULT (string) |
用于非对称加密操作的加密引擎的 string 标识符。cURL 7.9.3 及更高版本可用。
|
CURLOPT_SSLKEY (int) |
包含私有 SSL 密钥的文件名。自 cURL 7.9.3 版本起可用。
|
CURLOPT_SSLKEYPASSWD (int) |
使用CURLOPT_SSLKEY 中指定的私有 SSL 密钥所需的密码。 注意:
由于此选项包含敏感密码,请记住确保包含它的 PHP 脚本安全。
自 cURL 7.9.3 版本起可用,自 cURL 7.17.0 版本起已弃用。
|
CURLOPT_SSLKEYTYPE (int) |
CURLOPT_SSLKEY 中指定的私有 SSL 密钥的密钥类型。支持的密钥类型为:PEM , DER , ENG 。默认为 PEM 。自 cURL 7.9.3 版本起可用。
|
CURLOPT_SSLKEY_BLOB (int) |
客户端证书的string类型私钥。自 PHP 8.1.0 和 cURL 7.71.0 版本起可用。
|
CURLOPT_SSLVERSION (int) |
CURL_SSLVERSION_* 常量之一。 默认为CURL_SSLVERSION_DEFAULT 。自 cURL 7.1.0 版本起可用。
|
CURLOPT_SSL_CIPHER_LIST (int) |
用于 TLS 1.2 (1.1, 1.0) 连接的以冒号分隔的string类型的密码列表。自 cURL 7.9 版本起可用。
|
CURLOPT_SSL_EC_CURVES (int) |
以冒号分隔的椭圆曲线算法列表。例如,X25519:P-521 是两个椭圆曲线的有效列表。如果构建 cURL 的 SSL 后端支持此选项,则此选项定义客户端在 SSL 握手中的密钥交换算法。自 PHP 8.2.0 和 cURL 7.73.0 版本起可用。
|
CURLOPT_SSL_ENABLE_ALPN (int) |
设置为false 以禁用 SSL 握手中的 ALPN(如果构建 cURL 的 SSL 后端支持),这可用于协商 http2。自 PHP 7.0.7 和 cURL 7.36.0 版本起可用。
|
CURLOPT_SSL_ENABLE_NPN (int) |
设置为false 以禁用 SSL 握手中的 NPN(如果构建 cURL 的 SSL 后端支持),这可用于协商 http2。自 PHP 7.0.7 和 cURL 7.36.0 版本起可用,自 cURL 7.86.0 版本起已弃用。
|
CURLOPT_SSL_FALSESTART (int) |
设置为true 以启用,设置为false 以禁用 TLS 快速启动,这是一种 TLS 客户端在验证服务器的 Finished 消息之前开始发送应用程序数据的模式。自 PHP 7.0.7 和 cURL 7.42.0 版本起可用。
|
CURLOPT_SSL_OPTIONS (int) |
设置 SSL 行为选项,它是CURLSSLOPT_* 常量的位掩码。默认为没有设置任何位。自 PHP 7.0.7 和 cURL 7.25.0 版本起可用。
|
CURLOPT_SSL_SESSIONID_CACHE (int) |
设置为 0 以禁用,设置为 1 以启用 SSL session-ID 缓存。默认情况下,所有传输都使用启用的缓存进行。自 cURL 7.16.0 版本起可用。
|
CURLOPT_SSL_VERIFYHOST (int) |
设置为 2 以验证 SSL 对等证书中的“通用名称”字段或“主题备用名称”字段是否与提供的主机名匹配。设置为 0 表示不检查名称。不应使用 1 。在生产环境中,此选项的值应保持为 2 (默认值)。cURL 7.28.1 中已移除对值 1 的支持。自 cURL 7.8.1 版本起可用。
|
CURLOPT_SSL_VERIFYPEER (int) |
设置为false 以阻止 cURL 验证对等方的证书。可以使用CURLOPT_CAINFO 选项指定要验证的其他证书,或者可以使用CURLOPT_CAPATH 选项指定证书目录。自 cURL 7.10 版本起默认为true 。自 cURL 7.10 版本起安装默认的 CA 证书包。自 cURL 7.4.2 版本起可用。
|
CURLOPT_SSL_VERIFYSTATUS (int) |
设置为true 以启用,设置为false 以禁用证书状态的验证。自 PHP 7.0.7 和 cURL 7.41.0 版本起可用。
|
CURLOPT_STDERR (resource) |
接受指向替代位置的resource类型的文件句柄,以将错误输出到该位置,而不是STDERR 。自 cURL 7.1.0 版本起可用。
|
CURLOPT_STREAM_WEIGHT (int) |
设置数值流权重(介于 1 和 256 之间的数字)。自 PHP 7.0.7 和 cURL 7.46.0 版本起可用。
|
设置为true 以禁止代理 CONNECT 响应头从用户回调函数CURLOPT_HEADERFUNCTION 和CURLOPT_WRITEFUNCTION 中返回,当使用CURLOPT_HTTPPROXYTUNNEL 并发出 CONNECT 请求时。默认为false 。自 PHP 7.3.0 和 cURL 7.54.0 版本起可用。
|
CURLOPT_TCP_FASTOPEN (int) |
设置为true 以启用,设置为false 以禁用 TCP 快速打开。自 PHP 7.0.7 和 cURL 7.49.0 版本起可用。
|
CURLOPT_TCP_KEEPALIVE (int) |
如果设置为 1 ,则将发送 TCP 保活探测。可以使用CURLOPT_TCP_KEEPIDLE 和CURLOPT_TCP_KEEPINTVL 选项控制这些探测的延迟和频率,前提是操作系统支持它们。如果设置为 0 (默认值),则禁用保活探测。可以使用CURLOPT_TCP_KEEPCNT 选项设置最大探测次数。自 cURL 7.25.0 版本起可用。
|
CURLOPT_TCP_KEEPIDLE (int) |
设置操作系统在连接空闲时等待发送保活探测之前的延迟(以秒为单位),如果启用了CURLOPT_TCP_KEEPALIVE 。并非所有操作系统都支持此选项。默认为 60 。自 cURL 7.25.0 版本起可用。
|
CURLOPT_TCP_KEEPINTVL (int) |
设置操作系统在发送保活探测之间等待的间隔(以秒为单位),如果启用了CURLOPT_TCP_KEEPALIVE 。并非所有操作系统都支持此选项。默认为 60 。自 cURL 7.25.0 版本起可用。
|
CURLOPT_TCP_KEEPCNT (int) |
设置 TCP 保活探测的最大次数。默认为 9 。自 PHP 8.4.0 和 cURL 8.9.0 版本起可用。
|
CURLOPT_TCP_NODELAY (int) |
设置为true 以禁用 TCP 的 Nagle 算法,该算法尝试最大限度地减少网络上的小数据包数量。默认为true 。自 cURL 7.11.2 版本起可用。
|
CURLOPT_TELNETOPTIONS (int) |
设置要传递给 telnet 协商的array类型的string列表。变量应采用 >option=value< 的格式。cURL 支持 TTYPE 、XDISPLOC 和 NEW_ENV 选项。自 cURL 7.7.0 版本起可用。
|
CURLOPT_TFTP_BLKSIZE (int) |
设置TFTP数据传输使用的块大小。有效范围是8 -65464 字节。如果未指定此选项,则使用默认值512 字节。只有在远程服务器支持的情况下,才会使用指定的块大小。如果服务器没有返回选项确认或返回的选项确认中没有块大小,则使用默认值512 字节。从cURL 7.19.4版本开始可用。
|
CURLOPT_TFTP_NO_OPTIONS (int) |
设置为true 不发送TFTP选项请求。默认为false 。从PHP 7.0.7和cURL 7.48.0版本开始可用。
|
CURLOPT_TIMECONDITION (int) |
设置如何处理CURLOPT_TIMEVALUE 。使用CURL_TIMECOND_IFMODSINCE 仅当页面自CURLOPT_TIMEVALUE 中指定的时间以来已被修改时才返回页面。如果它没有被修改,则假设CURLOPT_HEADER 为true ,将返回304 Not Modified 标头。使用CURL_TIMECOND_IFUNMODSINCE 获得相反的效果。使用CURL_TIMECOND_NONE 忽略CURLOPT_TIMEVALUE 并始终返回页面。CURL_TIMECOND_NONE 是默认值。在cURL 7.46.0之前,默认值为CURL_TIMECOND_IFMODSINCE 。从cURL 7.1.0版本开始可用。
|
CURLOPT_TIMEOUT (int) |
允许cURL函数执行的最大秒数。默认为0 ,这意味着函数在传输过程中永远不会超时。从cURL 7.1.0版本开始可用。
|
CURLOPT_TIMEOUT_MS (int) |
允许cURL函数执行的最大毫秒数。如果cURL构建为使用标准系统名称解析器,则连接的该部分仍将使用全秒分辨率进行超时,允许的最小超时为一秒。默认为0 ,这意味着函数在传输过程中永远不会超时。从cURL 7.16.2版本开始可用。
|
CURLOPT_TIMEVALUE (int) |
自1970年1月1日以来的秒数。此时间将由CURLOPT_TIMECONDITION 使用。默认为0 。从cURL 7.1.0版本开始可用。
|
CURLOPT_TIMEVALUE_LARGE (int) |
自1970年1月1日以来的秒数。此时间将由CURLOPT_TIMECONDITION 使用。默认为零。此选项与CURLOPT_TIMEVALUE 的区别在于参数的类型。在'long'类型仅为32位宽的系统上,必须使用此选项来设置2038年后的日期。从PHP 7.3.0和cURL 7.59.0版本开始可用。
|
CURLOPT_TLS13_CIPHERS (int) |
一个用冒号分隔的密码列表组成的string,用于TLS 1.3连接的连接。此选项当前仅在cURL构建为使用OpenSSL 1.1.1或更高版本时使用。当使用不同的SSL后端时,可以使用CURLOPT_SSL_CIPHER_LIST 选项设置TLS 1.3密码套件。从PHP 7.3.0和cURL 7.61.0版本开始可用。
|
CURLOPT_TLSAUTH_PASSWORD (int) |
设置一个密码,用于使用CURLOPT_TLSAUTH_TYPE 选项指定的TLS身份验证方法。需要同时设置CURLOPT_TLSAUTH_USERNAME 选项。此功能依赖于TLS SRP,它不适用于TLS 1.3。从cURL 7.21.4版本开始可用。
|
CURLOPT_TLSAUTH_TYPE (int) |
设置一个包含TLS身份验证方法的string。支持的方法是SRP (TLS安全远程密码身份验证)。从cURL 7.21.4版本开始可用。
|
CURLOPT_TLSAUTH_USERNAME (int) |
设置一个string,包含用于使用CURLOPT_TLSAUTH_TYPE 选项指定的TLS身份验证方法的用户名。需要同时设置CURLOPT_TLSAUTH_PASSWORD 选项。此功能依赖于TLS SRP,它不适用于TLS 1.3。从cURL 7.21.4版本开始可用。
|
CURLOPT_TRANSFER_ENCODING (int) |
设置为1 启用,设置为0 禁用在传出的HTTP请求中请求压缩的Transfer Encoding 。如果服务器响应压缩的Transfer Encoding ,cURL将在接收时自动解压缩它。默认为0 。从cURL 7.21.6版本开始可用。
|
CURLOPT_TRANSFERTEXT (int) |
设置为true 使用ASCII模式进行FTP传输。对于LDAP,它以纯文本而不是HTML检索数据。在Windows系统上,它不会将STDOUT 设置为二进制模式。默认为false 。从cURL 7.1.1版本开始可用。
|
CURLOPT_UNIX_SOCKET_PATH (int) |
启用使用Unix域套接字作为连接端点,并将路径设置为给定的string。设置为null 禁用。默认为null 。从PHP 7.0.7和cURL 7.40.0版本开始可用。
|
CURLOPT_UNRESTRICTED_AUTH (int) |
设置为true 即使主机名已更改,在跟踪位置(使用CURLOPT_FOLLOWLOCATION )时继续发送用户名和密码。默认为false 。从cURL 7.10.4版本开始可用。
|
CURLOPT_UPKEEP_INTERVAL_MS (int) |
某些协议具有“连接维护”机制。这些机制通常会在现有连接上发送一些流量以保持其活动状态。此选项定义连接维护间隔。目前,唯一具有连接维护机制的协议是HTTP/2。当连接维护间隔超过时,会在连接上发送HTTP/2 PING帧。默认为CURL_UPKEEP_INTERVAL_DEFAULT ,当前为60 秒。从PHP 8.2.0和cURL 7.62.0版本开始可用。
|
CURLOPT_UPLOAD (int) |
设置为true 以准备并执行上传。默认为false 。从cURL 7.1.0版本开始可用。
|
CURLOPT_UPLOAD_BUFFERSIZE (int) |
cURL上传缓冲区的首选缓冲区大小(以字节为单位)。上传缓冲区大小默认为64千字节。允许设置的最大缓冲区大小为2兆字节。允许设置的最小缓冲区大小为16千字节。从PHP 8.2.0和cURL 7.62.0版本开始可用。
|
CURLOPT_URL (int) |
要获取的URL。这也可以在使用curl_init()初始化会话时设置。从cURL 7.1.0版本开始可用。
|
CURLOPT_USE_SSL (int) |
在使用FTP、SMTP、POP3、IMAP等协议时设置所需的SSL/TLS级别。这些都是从纯文本开始并使用STARTTLS命令“升级”到SSL的协议。设置为CURLUSESSL_* 常量之一。从cURL 7.17.0版本开始可用。
|
CURLOPT_USERAGENT (int) |
要在HTTP请求中使用的User-Agent: 标头的内容。从cURL 7.1.0版本开始可用。
|
CURLOPT_USERNAME (int) |
用于身份验证的用户名。从cURL 7.19.1版本开始可用。
|
CURLOPT_USERPWD (int) |
格式为[username]:[password] 的用户名和密码,用于连接。从cURL 7.1.0版本开始可用。
|
CURLOPT_VERBOSE (int) |
设置为true 以输出详细的信息。输出写入到STDERR ,或者使用CURLOPT_STDERR 指定的 文件。默认为false 。从 cURL 7.1.0 开始可用。
|
CURLOPT_WILDCARDMATCH (int) |
设置为 1 以根据文件名模式传输多个文件。模式可以作为CURLOPT_URL 选项的一部分指定,在URL的最后一部分(文件名)使用类似 fnmatch 的模式(Shell 模式匹配)。从 cURL 7.21.0 开始可用。
|
CURLOPT_WRITEFUNCTION (int) |
具有以下签名的 callable
curlHandle
-
cURL句柄。
data
-
要写入的数据。
回调函数必须保存数据,并返回写入的字节数,否则传输将因错误而中止。从 cURL 7.1.0 开始可用。
|
接收指向文件的句柄 资源,传输的头部部分将写入到该文件。从 cURL 7.1.0 开始可用。
|
CURLOPT_WS_OPTIONS (int) |
接收设置 WebSocket 行为选项的位掩码。唯一可用的选项是CURLWS_RAW_MODE 。默认为 0 。从 PHP 8.3.0 和 cURL 7.86.0 开始可用。
|
CURLOPT_XFERINFOFUNCTION (int) |
具有以下签名的 callable
回调函数( 资源 $curlHandle , 整数 $bytesToDownload , 整数 $bytesDownloaded , 整数 $bytesToUpload , 整数 $bytesUploaded ): 整数
curlHandle
-
cURL句柄。
bytesToDownload
-
此传输中预期下载的总字节数。
bytesDownloaded
-
到目前为止已下载的字节数。
bytesToUpload
-
此传输中预期上传的总字节数。
bytesUploaded
-
到目前为止已上传的字节数。
返回 1 以中止传输并设置CURLE_ABORTED_BY_CALLBACK 错误。从 PHP 8.2.0 和 cURL 7.32.0 开始可用。
|
CURLOPT_SERVER_RESPONSE_TIMEOUT (int) |
cURL 将等待来自 FTP、SFTP、IMAP、SCP、SMTP 或 POP3 服务器的响应的超时时间(以秒为单位)。此选项替换了 cURL 7.85.0 中已弃用的现有CURLOPT_FTP_RESPONSE_TIMEOUT 选项。从 PHP 8.4.0 开始可用。
|
CURLOPT_XOAUTH2_BEARER (int) |
指定 OAuth 2.0 访问令牌。设置为null 以禁用。默认为null 。从 PHP 7.0.7 和 cURL 7.33.0 开始可用。
|
CURLOPT_PREREQFUNCTION (int) |
具有以下签名的可调用,在建立连接后但在发送请求有效负载(例如,HTTP 连接的 GET/POST/DELETE 请求)之前调用,可根据源和目标 IP 地址以及端口号中止或允许连接。
curlHandle
-
cURL句柄。
destination_ip
-
与该连接建立的远程服务器的主 IP。对于 FTP,这是控制连接的 IP。IPv6 地址表示时不带括号。
local_ip
-
此连接的发起 IP。IPv6 地址表示时不带括号。
destination_port
-
与该连接建立的远程服务器上的主端口号。对于 FTP,这是控制连接的端口。这可以是 TCP 端口号或 UDP 端口号,具体取决于协议。
local_port
-
此连接的发起端口号。这可以是 TCP 端口号或 UDP 端口号,具体取决于协议。
返回CURL_PREREQFUNC_OK 以允许请求,或返回CURL_PREREQFUNC_ABORT 以中止传输。从 PHP 8.4.0 和 cURL 7.80.0 开始可用。
|
CURLOPT_DEBUGFUNCTION (int) |
从 PHP 8.4.0 开始可用。此选项需要启用CURLOPT_VERBOSE 选项。可调用 用于替换标准的 cURL 详细输出。此回调函数在请求的不同阶段使用详细的调试信息进行调用。回调函数应与以下签名匹配:
curlHandle
-
cURL句柄。
type
-
data 值类型的以下常量之一:
data
-
type 参数指示类型的详细调试数据。
|