| 常量 |
描述 |
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 参数指示类型的详细调试数据。
|