中文翻译:
curl_easy_setopt(3) libcurl 手册 curl_easy_setopt(3)
名称
curl_easy_setopt -curl的设置选项
概要
#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter);
描述
curl_easy_setopt(3)是用来告诉libcurl如何表现.通过设置适当的选项,应用程序可以改变libcurl的行为。所有选项都设置一个选项,然后由一个参数.
这个比较长:一个函数指针,一个对象的指针或curl_off_t,取决于具体方案预计。如果参数的值不符合要求,可能导致libcurl达到理想效果,请仔细阅读本手册。一个典型的应用程序中会使用许多‐curl_easy_setopt(3)来对环境进行设置。此函数调用的选项设置对下面程序进行传输执行的参数设置,这个函数不能对已经设置的函数进行恢复,如果你想回到内部默认的状态,你可以调用curl_easy_reset(3)。
字符串传递给libcurl作为字符串参数,由图书馆复制,从而对指针参数的字符串储存空间可能会被curl_easy_setopt(3)的返回值覆盖。
字符串传递给libcurl作为字符串参数,由文件管理系统复制,从而对指针参数关联的字符串存储空间可能会被curl_easy_setopt(3)的返回值覆盖。这个规则的唯一例外是 really 的curlopt_postfields(3),但选择拷贝的字符串curlopt_copypostfields(3)有一定的使用特点需要你读了。
选项设置的顺序不重要。
以前的版本7.17.0,字符串不复制。相反,保持用户促使有效直到libcurl不再需要他们。
处理是从curl_easy_init返回代码(3)或(3)curl_easy_duphandle调用。
行为选择
CURLOPT_VERBOSE
如果你想CURL报告每一件意外的事情,设置这个选项为一个非零值。See CURLOPT_VERBOSE(3)
CURLOPT_HEADER
如果你想把一个头包含在输出中,设置这个选项为一个非零值. See CURLOPT_HEADER(3)
CURLOPT_NOPROGRESS
关闭进度表. See CURLOPT_NOPROGRESS(3)
CURLOPT_NOSIGNAL
不要安装信号处理程序. See CURLOPT_NOSIGNAL(3)
CURLOPT_WILDCARDMATCH
根据文件名模式传输多个文件. See CURLOPT_WILDCARDMATCH(3)
回调函数的选择
CURLOPT_WRITEFUNCTION
写入数据的回调. See CURLOPT_WRITEFUNCTION(3)
CURLOPT_WRITEDATA
数据指针传递给写回调. See CURLOPT_WRITE‐DATA(3)
CURLOPT_READFUNCTION
读取数据回调. See CURLOPT_READFUNCTION(3)
CURLOPT_READDATA
数据指针传递给读回调. See CURLOPT_READ‐DATA(3)
CURLOPT_IOCTLFUNCTION
回调的I/O操作. See CURLOPT_IOCTLFUNCTION(3)
CURLOPT_IOCTLDATA
数据指针传递给I/O回调. See CURLOPT_IOCTL‐DATA(3)
CURLOPT_SEEKFUNCTION
寻求操作的回调. See CURLOPT_SEEKFUNCTION(3)
CURLOPT_SEEKDATA
数据指针传递给寻求回调. See CURLOPT_SEEK‐ DATA(3)
CURLOPT_SOCKOPTFUNCTION
套接字创建的回调. See CURLOPT_SOCKOPTFUNCTION(3)
CURLOPT_SOCKOPTDATA
数据指针传递给sockopt回调. See CURLOPT_SOCK‐OPTDATA(3)
CURLOPT_OPENSOCKETFUNCTION
创建套接字(socket)的回调. See CURLOPT_OPENSOCKETFUNCTION(3)
CURLOPT_OPENSOCKETDATA
数据指针传递给打开的套接字(socket)回调.See CUR‐LOPT_OPENSOCKETDATA(3)
CURLOPT_CLOSESOCKETFUNCTION
关闭套接字(socket)的回调. See CURLOPT_CLOSESOCKETFUNCTION(3)
CURLOPT_CLOSESOCKETDATA
数据指针传递给 关闭套接字回调
数据指针传递给关闭套接字(socket)回调. See CUR‐LOPT_CLOSESOCKETDATA(3)
CURLOPT_PROGRESSFUNCTION
过时的回调进度表(meter). See CURLOPT_PROGRESSFUNC‐TION(3)
CURLOPT_PROGRESSDATA
数据指针传递给进度表(meter)回调. See CUR‐LOPT_PROGRESSDATA(3)
CURLOPT_XFERINFOFUNCTION
进度表的回调. See CURLOPT_XFERINFOFUNCTION(3)
CURLOPT_XFERINFODATA
数据指针传递给进度表回调.See CUR‐LOPT_XFERINFODATA(3)
CURLOPT_HEADERFUNCTION
写入接收头的回调. See CURLOPT_HEADERFUNC‐TION(3)
CURLOPT_HEADERDATA
数据指针指向头(header)回调. See CURLOPT_HEADER‐DATA(3)
CURLOPT_DEBUGFUNCTION
调试信息的回调. See CURLOPT_DEBUGFUNCTION(3)
CURLOPT_DEBUGDATA
数据指传递向调试回调. See CURLOPT_DEBUG‐DATA(3)
CURLOPT_SSL_CTX_FUNCTION
ssl上线文逻辑回调. See CURLOPT_SSL_CTX_FUNCTION(3)
CURLOPT_SSL_CTX_DATA
数据指针传递给SSL上下文回调. See CUR‐LOPT_SSL_CTX_DATA(3)
CURLOPT_CONV_TO_NETWORK_FUNCTION
代码库转换的回调. See CURLOPT_CONV_TO_NET‐WORK_FUNCTION(3)
CURLOPT_CONV_FROM_NETWORK_FUNCTION
代码库转换的回调. See CURLOPT_CONV_FROM_NET‐WORK_FUNCTION(3)
CURLOPT_CONV_FROM_UTF8_FUNCTION
代码库转换的回调. See CUR‐LOPT_CONV_FROM_UTF8_FUNCTION(3)
CURLOPT_INTERLEAVEFUNCTION
回调RTSP交错的数据. See CURLOPT_INTERLEAVEFUNC‐TION(3)
CURLOPT_INTERLEAVEDATA
数据指针通过RTSP交织回调. See CUR‐LOPT_INTERLEAVEDATA(3)
CURLOPT_CHUNK_BGN_FUNCTION
通配符下载启动块回调. See CUR‐LOPT_CHUNK_BGN_FUNCTION(3)
CURLOPT_CHUNK_END_FUNCTION
对于大块通配符下载结束回调. See CUR‐LOPT_CHUNK_END_FUNCTION(3)
CURLOPT_CHUNK_DATA
数据指针传递给块回调.See CUR‐LOPT_CHUNK_DATA(3)
CURLOPT_FNMATCH_FUNCTION
通配符匹配回调. See CURLOPT_FNMATCH_FUNCTION(3)
CURLOPT_FNMATCH_DATA
数据指针通过通配符匹配回调. See CUR‐LOPT_FNMATCH_DATA(3)
错误选择
CURLOPT_ERRORBUFFER
错误消息缓冲区. See CURLOPT_ERRORBUFFER(3)
CURLOPT_STDERR
标准错误置换流. See CURLOPT_STDERR(3)
CURLOPT_FAILONERROR
在HTTP 4xx 错误失败. CURLOPT_FAILONERROR(3)
网络选项
CURLOPT_URL
URL工作. See CURLOPT_URL(3)
CURLOPT_PATH_AS_IS
禁用挤压/../ 和/../在路径序列. See CUR‐LOPT_PATH_AS_IS(3)
CURLOPT_PROTOCOLS
协议允许. See CURLOPT_PROTOCOLS(3)
CURLOPT_REDIR_PROTOCOLS
协议允许重定向到. See CURLOPT_REDIR_PROTOCOLS(3)
CURLOPT_DEFAULT_PROTOCOL
默认协议. See CURLOPT_DEFAULT_PROTOCOL(3)
CURLOPT_PROXY
使用代理. See CURLOPT_PROXY(3)
CURLOPT_PROXYPORT
代理端口使用. See CURLOPT_PROXYPORT(3)
CURLOPT_PROXYTYPE
代理类型. See CURLOPT_PROXYTYPE(3)
CURLOPT_NOPROXY
从代理使用筛选主机. CURLOPT_NOPROXY(3)
CURLOPT_HTTPPROXYTUNNEL
通过HTTP代理隧道. CURLOPT_HTTPPROXYTUNNEL(3)
CURLOPT_SOCKS5_GSSAPI_SERVICE
Socks5 GSSAPI服务名字. CURLOPT_SOCKS5_GSSAPI_SERVICE(3)
CURLOPT_SOCKS5_GSSAPI_NEC
Socks5 GSSAPI 无差错校验模式. See CURLOPT_SOCKS5_GSSAPI_NEC(3)
CURLOPT_PROXY_SERVICE_NAME
代理服务名字. CURLOPT_PROXY_SERVICE_NAME(3)
CURLOPT_SERVICE_NAME
SPNEGO服务名字. CURLOPT_SERVICE_NAME(3)
CURLOPT_INTERFACE
绑定本地连接. See CURLOPT_INTERFACE(3)
CURLOPT_LOCALPORT
绑定本地连接到端口. See CURLOPT_LOCALPORT(3)
CURLOPT_LOCALPORTRANGE
绑定本地连接绑定到范围端口. See CURLOPT_LOCALPOR‐TRANGE(3)
CURLOPT_DNS_CACHE_TIMEOUT
DNS缓存超时. See CURLOPT_DNS_CACHE_TIMEOUT(3)
CURLOPT_DNS_USE_GLOBAL_CACHE
过时的使全局DNS缓存。See CUR‐LOPT_DNS_USE_GLOBAL_CACHE(3)
CURLOPT_BUFFERSIZE
要求较小的缓冲区大小. See CURLOPT_BUFFERSIZE(3)
CURLOPT_PORT
端口号连接到. See CURLOPT_PORT(3)
CURLOPT_TCP_NODELAY
禁用Nagle算法. See CURLOPT_TCP_NODELAY(3)
CURLOPT_ADDRESS_SCOPE
对于本地地址IPv6范围. See CURLOPT_ADDRESS_SCOPE(3)
CURLOPT_TCP_KEEPALIVE
启动持久连接(TCP keep-alive). See CURLOPT_TCP_KEEPALIVE(3)
CURLOPT_TCP_KEEPIDLE
发送前的空闲时间. See CURLOPT_TCP_KEEPIDLE(3)
CURLOPT_TCP_KEEPINTVL
保持活探针之间的间隔. See CURLOPT_TCP_KEEPINTVL(3)
CURLOPT_UNIX_SOCKET_PATH
一个Unix域套接字(socket)的路径. See CURLOPT_UNIX_SOCKET_PATH(3)
名称和密码选项(身份验证)
CURLOPT_NETRC
使用.户配置脚本文件解析. See CURLOPT_NETRC(3)
CURLOPT_NETRC_FILE
.配置脚本文件名. See CURLOPT_NETRC_FILE(3)
CURLOPT_USERPWD
用户名和密码. See CURLOPT_USERPWD(3)
CURLOPT_PROXYUSERPWD
代理用户名和密码.See CURLOPT_PROXYUSERPWD(3)
CURLOPT_USERNAME
用户名. See CURLOPT_USERNAME(3)
CURLOPT_PASSWORD
密码. See CURLOPT_PASSWORD(3)
CURLOPT_LOGIN_OPTIONS
登陆选项. See CURLOPT_LOGIN_OPTIONS(3)
CURLOPT_PROXYUSERNAME
代理用户名. See CURLOPT_PROXYUSERNAME(3)
CURLOPT_PROXYPASSWORD
代理密码. See CURLOPT_PROXYPASSWORD(3)
CURLOPT_HTTPAUTH
HTTP服务器的身份验证方法. See CURLOPT_HTTPAUTH(3)
CURLOPT_TLSAUTH_USERNAME
TLS 验证用户名. See CURLOPT_TLSAUTH_USERNAME(3)
CURLOPT_TLSAUTH_PASSWORD
TLS 验证密码. See CURLOPT_TLSAUTH_PASSWORD(3)
CURLOPT_TLSAUTH_TYPE
TLS 身份验证方法. See CURLOPT_TLSAUTH_TYPE(3)
CURLOPT_PROXYAUTH
HTTP代理验证方法. See CURLOPT_PROXYAUTH(3)
CURLOPT_SASL_IR
使SASL的初始响应. See CURLOPT_SASL_IR(3)
CURLOPT_XOAUTH2_BEARER
OAuth2不记名令牌. See CURLOPT_XOAUTH2_BEARER(3)
HTTP选项
CURLOPT_AUTOREFERER
自动设置参考;标题. See CURLOPT_AUTOREFERER(3)
CURLOPT_ACCEPT_ENCODING
接受编码和自动解压缩数据. See CUR‐LOPT_ACCEPT_ENCODING(3)
CURLOPT_TRANSFER_ENCODING
请求传输编码. See CURLOPT_TRANSFER_ENCODING(3)
CURLOPT_FOLLOWLOCATION
遵循HTTP重定向. See CURLOPT_FOLLOWLOCATION(3)
CURLOPT_UNRESTRICTED_AUTH
不限制对原始主机的身份验证. CURLOPT_UNRE‐STRICTED_AUTH(3)
CURLOPT_MAXREDIRS
跟随重定向的最大数量. See CURLOPT_MAXREDIRS(3)
CURLOPT_POSTREDIR
如何采取行动后的重定向POST. See CURLOPT_POSTREDIR(3)
CURLOPT_PUT
发出一个HTTP PUT请求. See CURLOPT_PUT(3)
CURLOPT_POST
发送一个HTTP POST要求. See CURLOPT_POST(3)
CURLOPT_POSTFIELDS
用这个数据发送一个POST. See CURLOPT_POSTFIELDS(3)
CURLOPT_POSTFIELDSIZE
如果你想发送数据POST到服务器没有libcurl做strlen()测量数据的大小,必须使用此选项。使用此选项时你可以把完全的二进制数据,否则可能会失败。如果这个大小设置为1,图书馆将使用strlen()得到尺寸. See CURLOPT_POSTFIELDSIZE(3)
CURLOPT_POSTFIELDSIZE_LARGE
如果你想发送数据POST到服务器没有libcurl做strlen()测量数据的大小,必须使用此选项。使用此选项时你可以把完全的二进制数据,否则可能会失败。如果这个大小设置为1,图书馆将使用strlen()得到尺寸. See CURLOPT_POSTFIELDSIZE_LARGE(3)
CURLOPT_COPYPOSTFIELDS
以POST的方式发送一段内容.See CURLOPT_COPYPOST‐FIELDS(3)
CURLOPT_HTTPPOST
多窗体发送HTTP POST. See CURLOPT_HTTPPOST(3)
CURLOPT_REFERER
引用:标头. See CURLOPT_REFERER(3)
CURLOPT_USERAGENT
用户代理:标头. See CURLOPT_USERAGENT(3)
CURLOPT_HTTPHEADER
自定义HTTP头.See CURLOPT_HTTPHEADER(3)
CURLOPT_HEADEROPT
控件自定义HTTP头. See CURLOPT_HEADEROPT(3)
CURLOPT_PROXYHEADER
自定义发送到代理的HTTP头. See CURLOPT_PROXYHEADER(3)
CURLOPT_HTTP200ALIASES
指定HTTP 200 OK备选匹配.See CURLOPT_HTTP200ALIASES(3)
CURLOPT_COOKIE
发送小文件. See CURLOPT_COOKIE(3)
CURLOPT_COOKIEFILE
从文件读取. See CURLOPT_COOKIEFILE(3)
CURLOPT_COOKIEJAR
向文件写入. See CURLOPT_COOKIEJAR(3)
CURLOPT_COOKIESESSION
开始一个新的cookie会话. See CURLOPT_COOKIESESSION(3)
CURLOPT_COOKIELIST
添加或控制cookies. See CURLOPT_COOKIELIST(3)
CURLOPT_HTTPGET
做一个HTTP GET请求.See CURLOPT_HTTPGET(3)
CURLOPT_HTTP_VERSION
HTTP版本的使用.CURLOPT_HTTP_VERSION(3)
CURLOPT_IGNORE_CONTENT_LENGTH
忽略内容长度(Content-Length). See CURLOPT_IGNORE_CONTENT_LENGTH(3)
CURLOPT_HTTP_CONTENT_DECODING
禁用Content(CSS的一种属性)译码. See CURLOPT_HTTP_CONTENT_DECODING(3)
CURLOPT_HTTP_TRANSFER_DECODING
禁用传输解码.See CURLOPT_HTTP_TRANSFER_DECODING(3)
CURLOPT_EXPECT_100_TIMEOUT_MS
客户端在发送POST数据给服务器前,征询服务器情况,看服务器是否处理POST的数据(100ms). See CURLOPT_EXPECT_100_TIMEOUT_MS(3)
CURLOPT_PIPEWAIT
等待连接到通道.See CURLOPT_PIPEWAIT(3)
CURLOPT_STREAM_DEPENDS
当前HTTP/2流取决于另一端. See CUR‐LOPT_STREAM_DEPENDS(3)
CURLOPT_STREAM_DEPENDS_E
当前HTTP/2流只取决于另一端. See CUR‐LOPT_STREAM_DEPENDS_E(3)
CURLOPT_STREAM_WEIGHT
设置HTTP/2流的重量. See CURLOPT_STREAM_WEIGHT(3)
SMTP(简单邮件传输协议) OPTIONS
CURLOPT_MAIL_FROM
发件人地址. See CURLOPT_MAIL_FROM(3)
一个指针传递给一个零结尾的字符串作为参数。这应该是用于发送libcurl的SMTP邮件时指定发件人的电子邮件地址。发起者的电子邮件地址应与尖括号(<>)周围,如果没有提供,将被自动添加指定。如果未指定该参数是一个空地址将被发送到这可能会导致邮件被拒绝的邮件服务器。
CURLOPT_MAIL_RCPT
邮件的收件人列表. See CURLOPT_MAIL_RCPT(3)
一个指针传递到收件人的链表传递给服务器的smtp邮件的请求。链表应该是一个完全有效的列表结构curl_slist结构正确填写。使用curl_slist_append创建列表和curl_slist_free_all清理整个列表。
CURLOPT_MAIL_AUTH
证书地址. See CURLOPT_MAIL_AUTH(3)
TFTP选择
CURLOPT_TFTP_BLKSIZE
TFTP block size. See CURLOPT_TFTP_BLKSIZE(3)
FTP OPTIONS
CURLOPT_FTPPORT
使用主动FTP. See CURLOPT_FTPPORT(3)
CURLOPT_QUOTE
传输前运行的命令. See CURLOPT_QUOTE(3)
CURLOPT_POSTQUOTE
传输后运行命令. See CURLOPT_POSTQUOTE(3)
CURLOPT_PREQUOTE
命令在传输之前运行. See CURLOPT_PREQUOTE(3)
CURLOPT_APPEND
附加到远程文件. See CURLOPT_APPEND(3)
设置这个选项为一个非零值,PHP将应用远程文件代替覆盖它
CURLOPT_FTP_USE_EPRT
启用FTP /禁止使用EPRT的. See CURLOPT_FTP_USE_EPRT(3)
CURLOPT_FTP_USE_EPSV
启用/禁用使用的EPSV. See CURLOPT_FTP_USE_EPSV(3)
CURLOPT_FTP_USE_PRET
使PRET命令. See CURLOPT_FTP_USE_PRET(3)
CURLOPT_FTP_CREATE_MISSING_DIRS
选项可以在上传时在目标机创建新目录(如果该目录不存在). See CUR‐LOPT_FTP_CREATE_MISSING_DIRS(3)
CURLOPT_FTP_RESPONSE_TIMEOUT
FTP响应超时. See CURLOPT_FTP_RESPONSE_TIMEOUT(3)
CURLOPT_FTP_ALTERNATIVE_TO_USER
替代用户. See CURLOPT_FTP_ALTERNATIVE_TO_USER(3)
CURLOPT_FTP_SKIP_PASV_IP
忽略在PASV响应的IP地址. See CUR‐LOPT_FTP_SKIP_PASV_IP(3)
CURLOPT_FTPSSLAUTH
控制如何做TLS. See CURLOPT_FTPSSLAUTH(3)
CURLOPT_FTP_SSL_CCC
再次回到非TLS认证后. See CUR‐LOPT_FTP_SSL_CCC(3)
CURLOPT_FTP_ACCOUNT
为FTP设置帐户信息. See CURLOPT_FTP_ACCOUNT(3)
一个指针传递给一个零结尾的字符串(或NULL以禁用)。当FTP服务器请求已提供的用户名和密码后,“帐户数据”,此数据是使用ACCT命令被红牌罚下。
CURLOPT_FTP_FILEMETHOD
指定如何到达文件. See CURLOPT_FTP_FILEMETHOD(3)
RTSP选择
CURLOPT_RTSP_REQUEST
指定RTSP请求. See CURLOPT_RTSP_REQUEST(3)
CURLOPT_RTSP_SESSION_ID
设置RTSP会话ID. See CURLOPT_RTSP_SESSION_ID(3)
CURLOPT_RTSP_STREAM_URI
RTSP流URI集. See CURLOPT_RTSP_STREAM_URI(3)
CURLOPT_RTSP_TRANSPORT
RTSP传输: header. See CURLOPT_RTSP_TRANSPORT(3)
CURLOPT_RTSP_CLIENT_CSEQ
设置RTSP客户端的CSEQ号. See CURLOPT_RTSP_CLIENT_CSEQ(3)
CURLOPT_RTSP_SERVER_CSEQ
CSEQ信号的RTSP服务器->客户端请求. See CUR‐LOPT_RTSP_SERVER_CSEQ(3)
协议选项
CURLOPT_TRANSFERTEXT
使用文本传输. See CURLOPT_TRANSFERTEXT(3)
CURLOPT_PROXY_TRANSFER_MODE
通过添加传输模式到代理服务器上的网址. See CURLOPT_PROXY_TRANS‐FER_MODE(3)
CURLOPT_CRLF
启用/禁用CRLF转换. See CURLOPT_CRLF(3)
经过很长。如果该值设置为1(一),转换的libcurl unix的换行符crlf对转让换行符。通过将该值设置为0(零)再次关闭此选项。 这是值得商榷使用的传统的选项。
CURLOPT_RANGE
设置字节范围请求. See CURLOPT_RANGE(3)5
CURLOPT_RESUME_FROM
恢复传输. See CURLOPT_RESUME_FROM(3)
CURLOPT_RESUME_FROM_LARGE
恢复传输. See CURLOPT_RESUME_FROM_LARGE(3)
CURLOPT_CUSTOMREQUEST
自定义请求/方法. See CURLOPT_CUSTOMREQUEST(3)
CURLOPT_FILETIME
请求文件修改日期和时间. See CURLOPT_FILETIME(3)
CURLOPT_DIRLISTONLY
只有在目录列表中索要名称. See CURLOPT_DIRLISTONLY(3)
CURLOPT_NOBODY
不获取身体内容. See CURLOPT_NOBODY(3)
CURLOPT_INFILESIZE
发送的文件大小. CURLOPT_INFILESIZE(3)
CURLOPT_INFILESIZE_LARGE
发送的文件大小. CURLOPT_INFILESIZE_LARGE(3)
CURLOPT_UPLOAD
上载数据. See CURLOPT_UPLOAD(3)
CURLOPT_MAXFILESIZE
允许下载的最大文件大小. See CURLOPT_MAXFILESIZE(3)
CURLOPT_MAXFILESIZE_LARGE
允许下载的最大文件大小. See CURLOPT_MAXFILESIZE_LARGE(3)
CURLOPT_TIMECONDITION
做一个时间条件请求. See CURLOPT_TIMECONDITION(3)
CURLOPT_TIMEVALUE
时间条件请求的时间值. See CUR‐LOPT_TIMEVALUE(3)
连接选项
CURLOPT_TIMEOUT
整个请求的超时时间(s).See CURLOPT_TIMEOUT(3)
CURLOPT_TIMEOUT_MS
整个请求的超时时间(ms).See CURLOPT_TIME‐OUT_MS(3)
CURLOPT_LOW_SPEED_LIMIT
低限速中止传输.See CUR‐LOPT_LOW_SPEED_LIMIT(3)
CURLOPT_LOW_SPEED_TIME
时间低于速度触发低速中止. See CUR‐LOPT_LOW_SPEED_TIME(3)
CURLOPT_MAX_SEND_SPEED_LARGE
上限上传速度. See CUR‐LOPT_MAX_SEND_SPEED_LARGE(3)
CURLOPT_MAX_RECV_SPEED_LARGE
下载速度上限. See CUR‐LOPT_MAX_RECV_SPEED_LARGE(3)
CURLOPT_MAXCONNECTS
连接池中的最大连接数. See CUR‐LOPT_MAXCONNECTS(3)
CURLOPT_FRESH_CONNECT
使用一个新的连接. CURLOPT_FRESH_CONNECT(3)
CURLOPT_FORBID_REUSE
防止随后重新连接. See CUR‐LOPT_FORBID_REUSE(3)
CURLOPT_CONNECTTIMEOUT
连接阶段的超时(m). See CURLOPT_CONNECTTIMEOUT(3)
CURLOPT_CONNECTTIMEOUT_MS
连接阶段的超时(ms). See CURLOPT_CON‐NECTTIMEOUT_MS(3)
CURLOPT_IPRESOLVE
IP版本解决. See CURLOPT_IPRESOLVE(3)
CURLOPT_CONNECT_ONLY
只有连接,没有别的. See CURLOPT_CONNECT_ONLY(3)
CURLOPT_USE_SSL
使用TLS / SSL. See CURLOPT_USE_SSL(3)
CURLOPT_RESOLVE
提供自定义主机名到IP地址的解析. See CURLOPT_RESOLVE(3)
CURLOPT_DNS_INTERFACE
绑定名称解析到这个接口. See CURLOPT_DNS_INTER‐FACE(3)
CURLOPT_DNS_LOCAL_IP4
绑定名称解析到这个IP4地址. See CUR‐LOPT_DNS_LOCAL_IP4(3)
CURLOPT_DNS_LOCAL_IP6
绑定名称解析到这个IP6地址. See CUR‐LOPT_DNS_LOCAL_IP6(3)
CURLOPT_DNS_SERVERS
首选DNS服务器. See CURLOPT_DNS_SERVERS(3)
CURLOPT_ACCEPTTIMEOUT_MS
等待服务器的连接被接受的超时(ms). See CURLOPT_ACCEPTTIMEOUT_MS(3)
SSL和安全选项
CURLOPT_SSLCERT
客户端证书. See CURLOPT_SSLCERT(3)
CURLOPT_SSLCERTTYPE
客户端证书类型. See CURLOPT_SSLCERTTYPE(3)
CURLOPT_SSLKEY
客户端钥匙. See CURLOPT_SSLKEY(3)
CURLOPT_SSLKEYTYPE
客户端钥匙类型. See CURLOPT_SSLKEYTYPE(3)
CURLOPT_KEYPASSWD
客户端钥匙密码. See CURLOPT_KEYPASSWD(3)
CURLOPT_SSL_ENABLE_ALPN
启用ALPN. See CURLOPT_SSL_ENABLE_ALPN(3)
CURLOPT_SSL_ENABLE_NPN
启用NPN. See CURLOPT_SSL_ENABLE_NPN(3)
CURLOPT_SSLENGINE
使用SSL引擎标识符. See CURLOPT_SSLENGINE(3)
CURLOPT_SSLENGINE_DEFAULT
默认的SSL引擎. See CURLOPT_SSLENGINE_DEFAULT(3)
CURLOPT_SSL_FALSESTART
启用TLS抢跑.See CURLOPT_SSL_FALSESTART(3)
CURLOPT_SSLVERSION
SSL版本使用.See CURLOPT_SSLVERSION(3)
CURLOPT_SSL_VERIFYHOST
验证的主机名SSL证书.See CUR‐LOPT_SSL_VERIFYHOST(3)
CURLOPT_SSL_VERIFYPEER
验证SSL证书. See CURLOPT_SSL_VERIFYPEER(3)
CURLOPT_SSL_VERIFYSTATUS
验证SSL证书的状态.See CURLOPT_SSL_VERIFYSTA‐TUS(3)
CURLOPT_CAINFO
捆绑的CA证书. See CURLOPT_CAINFO(3)
CURLOPT_ISSUERCERT
发行者证书. See CURLOPT_ISSUERCERT(3)
CURLOPT_CAPATH
捆绑的CA证书路径. See CURLOPT_CAPATH(3)
CURLOPT_CRLFILE
证书吊销列表. See CURLOPT_CRLFILE(3)
CURLOPT_CERTINFO
提取证书信息. See CURLOPT_CERTINFO(3)
CURLOPT_PINNEDPUBLICKEY
设置固定的SSL密钥. See CURLOPT_PINNEDPUBLICKEY(3)
CURLOPT_RANDOM_FILE
指定一个随机的数据源.See CURLOPT_RAN‐DOM_FILE(3)
CURLOPT_EGDSOCKET
点对点(EGD)套接字(socket)的路径. See CURLOPT_EGDSOCKET(3)
CURLOPT_SSL_CIPHER_LIST
使用密码. See CURLOPT_SSL_CIPHER_LIST(3)
CURLOPT_SSL_SESSIONID_CACHE
禁用SSL会话ID缓存.See CURLOPT_SSL_SESSIONID_CACHE(3)
CURLOPT_SSL_OPTIONS
SSL行为控制.See CURLOPT_SSL_OPTIONS(3)
CURLOPT_KRBLEVEL
Kerberos安全水平.See CURLOPT_KRBLEVEL(3)
CURLOPT_GSSAPI_DELEGATION
禁用GSS-API授权.See CURLOPT_GSSAPI_DELEGATION(3)
SSH选择
CURLOPT_SSH_AUTH_TYPES
SSH认证类型. See CURLOPT_SSH_AUTH_TYPES(3)
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5
MD5的主机的公钥.See CURLOPT_SSH_HOST_PUBLIC_KEY_MD5(3)
CURLOPT_SSH_PUBLIC_KEYFILE
公共密钥的文件名. See CURLOPT_SSH_PUBLIC_KEYFILE(3)
CURLOPT_SSH_PRIVATE_KEYFILE
私有密匙的文件名. See CURLOPT_SSH_PRIVATE_KEYFILE(3)
CURLOPT_SSH_KNOWNHOSTS
已知主机的文件名. See CURLOPT_SSH_KNOWNHOSTS(3)
CURLOPT_SSH_KEYFUNCTION
回调已知主机处理. See CURLOPT_SSH_KEYFUNC‐TION(3)
CURLOPT_SSH_KEYDATA
自定义指针通过ssh钥匙的回调. See CURLOPT_SSH_KEY‐DATA(3)
其他选项
CURLOPT_PRIVATE
专用指针存储. See CURLOPT_PRIVATE(3)
CURLOPT_SHARE
共享对象使用. See CURLOPT_SHARE(3)
CURLOPT_NEW_FILE_PERMS
创建新远程文件的模式. See CUR‐LOPT_NEW_FILE_PERMS(3)
CURLOPT_NEW_DIRECTORY_PERMS
创建新的远程目录的模式. See CURLOPT_NEW_DIREC‐TORY_PERMS(3)
远程登录选项
CURLOPT_TELNETOPTIONS
远程登录选项. See CURLOPT_TELNETOPTIONS(3)
返回值
CURLE_OK (零)意味着选择了正确的选项, 非零意味着错误发生是<curl/curl.h>定义.详情请见libcurl-errors(3) 操作说明有完整的列表.
如果你试图设置一个libcurl的不知道的选项,也许是因为说明手册太老的支持或选择在最近的版本中删除,该函数将返回curle_unknown_option。如果参数不真确在编译时,它将返回curle_not_built_in。
范例
CURL *curl = curl_easy_init();
if(curl) {
CURLcode res;
curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
请参阅
curl_easy_init(3), curl_easy_cleanup(3), curl_easy_reset(3),curl_easy_getinfo(3), curl_multi_setopt(3),
libcurl 7.38.0 25 Jun 2014 curl_easy_setopt(3)
英文原文:
curl_easy_setopt() libcurl Manual curl_easy_setopt() NAME
curl_easy_setopt - set options for a curl easy handle SYNOPSIS
#include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter); DESCRIPTION
curl_easy_setopt() is used to tell libcurl how to behave. By setting the appropriate options, the application can change libcurl's behavior. All options are set with an option followed by a parameter. That param‐ eter can be a long, a function pointer, an object pointer or a curl_off_t, depending on what the specific option expects. Read this manual carefully as bad input values may cause libcurl to behave badly! You can only set one option in each function call. A typical applica‐ tion uses many curl_easy_setopt(3) calls in the setup phase. Options set with this function call are valid for all forthcoming transfers performed using this handle. The options are not in any way reset between transfers, so if you want subsequent transfers with dif‐ ferent options, you must change them between the transfers. You can optionally reset all options back to internal default with curl_easy_reset(). Strings passed to libcurl as 'char *' arguments, are copied by the library; thus the string storage associated to the pointer argument may be overwritten after curl_easy_setopt() returns. The only exception to this rule is really CURLOPT_POSTFIELDS(), but the alternative that copies the string CURLOPT_COPYPOSTFIELDS() has some usage characteris‐ tics you need to read up on. The order in which the options are set does not matter. Before version 7.17., strings were not copied. Instead the user was forced keep them available until libcurl no longer needed them. The handle is the return code from a curl_easy_init() or curl_easy_duphandle() call. BEHAVIOR OPTIONS
CURLOPT_VERBOSE
Display verbose information. See CURLOPT_VERBOSE() CURLOPT_HEADER
Include the header in the body output. See CURLOPT_HEADER() CURLOPT_NOPROGRESS
Shut off the progress meter. See CURLOPT_NOPROGRESS() CURLOPT_NOSIGNAL
Do not install signal handlers. See CURLOPT_NOSIGNAL() CURLOPT_WILDCARDMATCH
Transfer multiple files according to a file name pattern. See CURLOPT_WILDCARDMATCH() CALLBACK OPTIONS
CURLOPT_WRITEFUNCTION
Callback for writing data. See CURLOPT_WRITEFUNCTION() CURLOPT_WRITEDATA
Data pointer to pass to the write callback. See CURLOPT_WRITE‐ DATA() CURLOPT_READFUNCTION
Callback for reading data. See CURLOPT_READFUNCTION() CURLOPT_READDATA
Data pointer to pass to the read callback. See CURLOPT_READ‐DATA() CURLOPT_IOCTLFUNCTION
Callback for I/O operations. See CURLOPT_IOCTLFUNCTION() CURLOPT_IOCTLDATA
Data pointer to pass to the I/O callback. See CURLOPT_IOCTL‐DATA() CURLOPT_SEEKFUNCTION
Callback for seek operations. See CURLOPT_SEEKFUNCTION() CURLOPT_SEEKDATA
Data pointer to pass to the seek callback. See CURLOPT_SEEK‐DATA() CURLOPT_SOCKOPTFUNCTION
Callback for sockopt operations. See CURLOPT_SOCKOPTFUNCTION() CURLOPT_SOCKOPTDATA
Data pointer to pass to the sockopt callback. See CURLOPT_SOCK‐OPTDATA() CURLOPT_OPENSOCKETFUNCTION
Callback for socket creation. See CURLOPT_OPENSOCKETFUNCTION() CURLOPT_OPENSOCKETDATA
Data pointer to pass to the open socket callback. See CUR‐LOPT_OPENSOCKETDATA() CURLOPT_CLOSESOCKETFUNCTION
Callback for closing socket. See CURLOPT_CLOSESOCKETFUNCTION() CURLOPT_CLOSESOCKETDATA
Data pointer to pass to the close socket callback. See CUR‐LOPT_CLOSESOCKETDATA() CURLOPT_PROGRESSFUNCTION
OBSOLETE callback for progress meter. See CURLOPT_PROGRESSFUNC‐TION() CURLOPT_PROGRESSDATA
Data pointer to pass to the progress meter callback. See CUR‐LOPT_PROGRESSDATA() CURLOPT_XFERINFOFUNCTION
Callback for progress meter. See CURLOPT_XFERINFOFUNCTION() CURLOPT_XFERINFODATA
Data pointer to pass to the progress meter callback. See CUR‐LOPT_XFERINFODATA() CURLOPT_HEADERFUNCTION
Callback for writing received headers. See CURLOPT_HEADERFUNC‐TION() CURLOPT_HEADERDATA
Data pointer to pass to the header callback. See CURLOPT_HEADER‐DATA() CURLOPT_DEBUGFUNCTION
Callback for debug information. See CURLOPT_DEBUGFUNCTION() CURLOPT_DEBUGDATA
Data pointer to pass to the debug callback. See CURLOPT_DEBUG‐
DATA() CURLOPT_SSL_CTX_FUNCTION
Callback for SSL context logic. See CURLOPT_SSL_CTX_FUNCTION() CURLOPT_SSL_CTX_DATA
Data pointer to pass to the SSL context callback. See CUR‐LOPT_SSL_CTX_DATA() CURLOPT_CONV_TO_NETWORK_FUNCTION
Callback for code base conversion. See CURLOPT_CONV_TO_NET‐WORK_FUNCTION() CURLOPT_CONV_FROM_NETWORK_FUNCTION
Callback for code base conversion. See CURLOPT_CONV_FROM_NET‐WORK_FUNCTION() CURLOPT_CONV_FROM_UTF8_FUNCTION
Callback for code base conversion. See CUR‐LOPT_CONV_FROM_UTF8_FUNCTION() CURLOPT_INTERLEAVEFUNCTION
Callback for RTSP interleaved data. See CURLOPT_INTERLEAVEFUNC‐TION() CURLOPT_INTERLEAVEDATA
Data pointer to pass to the RTSP interleave callback. See CUR‐LOPT_INTERLEAVEDATA() CURLOPT_CHUNK_BGN_FUNCTION
Callback for wildcard download start of chunk. See CUR‐LOPT_CHUNK_BGN_FUNCTION() CURLOPT_CHUNK_END_FUNCTION
Callback for wildcard download end of chunk. See CUR‐LOPT_CHUNK_END_FUNCTION() CURLOPT_CHUNK_DATA
Data pointer to pass to the chunk callbacks. See CUR‐LOPT_CHUNK_DATA() CURLOPT_FNMATCH_FUNCTION
Callback for wildcard matching. See CURLOPT_FNMATCH_FUNCTION() CURLOPT_FNMATCH_DATA
Data pointer to pass to the wildcard matching callback. See CUR‐LOPT_FNMATCH_DATA() ERROR OPTIONS
CURLOPT_ERRORBUFFER
Error message buffer. See CURLOPT_ERRORBUFFER() CURLOPT_STDERR
stderr replacement stream. See CURLOPT_STDERR() CURLOPT_FAILONERROR
Fail on HTTP 4xx errors. CURLOPT_FAILONERROR() NETWORK OPTIONS
CURLOPT_URL
URL to work on. See CURLOPT_URL() CURLOPT_PATH_AS_IS
Disable squashing /../ and /./ sequences in the path. See CUR‐LOPT_PATH_AS_IS() CURLOPT_PROTOCOLS
Allowed protocols. See CURLOPT_PROTOCOLS() CURLOPT_REDIR_PROTOCOLS
Protocols to allow redirects to. See CURLOPT_REDIR_PROTOCOLS() CURLOPT_DEFAULT_PROTOCOL
Default protocol. See CURLOPT_DEFAULT_PROTOCOL() CURLOPT_PROXY
Proxy to use. See CURLOPT_PROXY() CURLOPT_PROXYPORT
Proxy port to use. See CURLOPT_PROXYPORT() CURLOPT_PROXYTYPE
Proxy type. See CURLOPT_PROXYTYPE() CURLOPT_NOPROXY
Filter out hosts from proxy use. CURLOPT_NOPROXY() CURLOPT_HTTPPROXYTUNNEL
Tunnel through the HTTP proxy. CURLOPT_HTTPPROXYTUNNEL() CURLOPT_SOCKS5_GSSAPI_SERVICE
Socks5 GSSAPI service name. CURLOPT_SOCKS5_GSSAPI_SERVICE() CURLOPT_SOCKS5_GSSAPI_NEC
Socks5 GSSAPI NEC mode. See CURLOPT_SOCKS5_GSSAPI_NEC() CURLOPT_PROXY_SERVICE_NAME
Proxy service name. CURLOPT_PROXY_SERVICE_NAME() CURLOPT_SERVICE_NAME
SPNEGO service name. CURLOPT_SERVICE_NAME() CURLOPT_INTERFACE
Bind connection locally to this. See CURLOPT_INTERFACE() CURLOPT_LOCALPORT
Bind connection locally to this port. See CURLOPT_LOCALPORT() CURLOPT_LOCALPORTRANGE
Bind connection locally to port range. See CURLOPT_LOCALPOR‐TRANGE() CURLOPT_DNS_CACHE_TIMEOUT
Timeout for DNS cache. See CURLOPT_DNS_CACHE_TIMEOUT() CURLOPT_DNS_USE_GLOBAL_CACHE
OBSOLETE Enable global DNS cache. See CUR‐LOPT_DNS_USE_GLOBAL_CACHE() CURLOPT_BUFFERSIZE
Ask for smaller buffer size. See CURLOPT_BUFFERSIZE() CURLOPT_PORT
Port number to connect to. See CURLOPT_PORT() CURLOPT_TCP_NODELAY
Disable the Nagle algorithm. See CURLOPT_TCP_NODELAY() CURLOPT_ADDRESS_SCOPE
IPv6 scope for local addresses. See CURLOPT_ADDRESS_SCOPE() CURLOPT_TCP_KEEPALIVE
Enable TCP keep-alive. See CURLOPT_TCP_KEEPALIVE() CURLOPT_TCP_KEEPIDLE
Idle time before sending keep-alive. See CURLOPT_TCP_KEEPIDLE() CURLOPT_TCP_KEEPINTVL
Interval between keep-alive probes. See CURLOPT_TCP_KEEPINTVL() CURLOPT_UNIX_SOCKET_PATH
Path to a Unix domain socket. See CURLOPT_UNIX_SOCKET_PATH() NAMES and PASSWORDS OPTIONS (Authentication)
CURLOPT_NETRC
Enable .netrc parsing. See CURLOPT_NETRC() CURLOPT_NETRC_FILE
.netrc file name. See CURLOPT_NETRC_FILE() CURLOPT_USERPWD
User name and password. See CURLOPT_USERPWD() CURLOPT_PROXYUSERPWD
Proxy user name and password. See CURLOPT_PROXYUSERPWD() CURLOPT_USERNAME
User name. See CURLOPT_USERNAME() CURLOPT_PASSWORD
Password. See CURLOPT_PASSWORD() CURLOPT_LOGIN_OPTIONS
Login options. See CURLOPT_LOGIN_OPTIONS() CURLOPT_PROXYUSERNAME
Proxy user name. See CURLOPT_PROXYUSERNAME() CURLOPT_PROXYPASSWORD
Proxy password. See CURLOPT_PROXYPASSWORD() CURLOPT_HTTPAUTH
HTTP server authentication methods. See CURLOPT_HTTPAUTH() CURLOPT_TLSAUTH_USERNAME
TLS authentication user name. See CURLOPT_TLSAUTH_USERNAME() CURLOPT_TLSAUTH_PASSWORD
TLS authentication password. See CURLOPT_TLSAUTH_PASSWORD() CURLOPT_TLSAUTH_TYPE
TLS authentication methods. See CURLOPT_TLSAUTH_TYPE() CURLOPT_PROXYAUTH
HTTP proxy authentication methods. See CURLOPT_PROXYAUTH() CURLOPT_SASL_IR
Enable SASL initial response. See CURLOPT_SASL_IR() CURLOPT_XOAUTH2_BEARER
OAuth2 bearer token. See CURLOPT_XOAUTH2_BEARER() HTTP OPTIONS
CURLOPT_AUTOREFERER
Automatically set Referer: header. See CURLOPT_AUTOREFERER() CURLOPT_ACCEPT_ENCODING
Accept-Encoding and automatic decompressing data. See CUR‐LOPT_ACCEPT_ENCODING() CURLOPT_TRANSFER_ENCODING
Request Transfer-Encoding. See CURLOPT_TRANSFER_ENCODING() CURLOPT_FOLLOWLOCATION
Follow HTTP redirects. See CURLOPT_FOLLOWLOCATION() CURLOPT_UNRESTRICTED_AUTH
Do not restrict authentication to original host. CURLOPT_UNRE‐STRICTED_AUTH() CURLOPT_MAXREDIRS
Maximum number of redirects to follow. See CURLOPT_MAXREDIRS() CURLOPT_POSTREDIR
How to act on redirects after POST. See CURLOPT_POSTREDIR() CURLOPT_PUT
Issue a HTTP PUT request. See CURLOPT_PUT() CURLOPT_POST
Issue a HTTP POST request. See CURLOPT_POST() CURLOPT_POSTFIELDS
Send a POST with this data. See CURLOPT_POSTFIELDS() CURLOPT_POSTFIELDSIZE
The POST data is this big. See CURLOPT_POSTFIELDSIZE() CURLOPT_POSTFIELDSIZE_LARGE
The POST data is this big. See CURLOPT_POSTFIELDSIZE_LARGE() CURLOPT_COPYPOSTFIELDS
Send a POST with this data - and copy it. See CURLOPT_COPYPOST‐FIELDS() CURLOPT_HTTPPOST
Multipart formpost HTTP POST. See CURLOPT_HTTPPOST() CURLOPT_REFERER
Referer: header. See CURLOPT_REFERER() CURLOPT_USERAGENT
User-Agent: header. See CURLOPT_USERAGENT() CURLOPT_HTTPHEADER
Custom HTTP headers. See CURLOPT_HTTPHEADER() CURLOPT_HEADEROPT
Control custom headers. See CURLOPT_HEADEROPT() CURLOPT_PROXYHEADER
Custom HTTP headers sent to proxy. See CURLOPT_PROXYHEADER() CURLOPT_HTTP200ALIASES
Alternative versions of OK. See CURLOPT_HTTP200ALIASES() CURLOPT_COOKIE
Cookie(s) to send. See CURLOPT_COOKIE() CURLOPT_COOKIEFILE
File to read cookies from. See CURLOPT_COOKIEFILE() CURLOPT_COOKIEJAR
File to write cookies to. See CURLOPT_COOKIEJAR() CURLOPT_COOKIESESSION
Start a new cookie session. See CURLOPT_COOKIESESSION() CURLOPT_COOKIELIST
Add or control cookies. See CURLOPT_COOKIELIST() CURLOPT_HTTPGET
Do a HTTP GET request. See CURLOPT_HTTPGET() CURLOPT_HTTP_VERSION
HTTP version to use. CURLOPT_HTTP_VERSION() CURLOPT_IGNORE_CONTENT_LENGTH
Ignore Content-Length. See CURLOPT_IGNORE_CONTENT_LENGTH() CURLOPT_HTTP_CONTENT_DECODING
Disable Content decoding. See CURLOPT_HTTP_CONTENT_DECODING() CURLOPT_HTTP_TRANSFER_DECODING
Disable Transfer decoding. See CURLOPT_HTTP_TRANSFER_DECODING() CURLOPT_EXPECT_100_TIMEOUT_MS
-continue timeout. See CURLOPT_EXPECT_100_TIMEOUT_MS() CURLOPT_PIPEWAIT
Wait on connection to pipeline on it. See CURLOPT_PIPEWAIT() CURLOPT_STREAM_DEPENDS
This HTTP/ stream depends on another. See CUR‐LOPT_STREAM_DEPENDS() CURLOPT_STREAM_DEPENDS_E
This HTTP/ stream depends on another exclusively. See CUR‐LOPT_STREAM_DEPENDS_E() CURLOPT_STREAM_WEIGHT
Set this HTTP/ stream's weight. See CURLOPT_STREAM_WEIGHT(3) SMTP OPTIONS
CURLOPT_MAIL_FROM
Address of the sender. See CURLOPT_MAIL_FROM() CURLOPT_MAIL_RCPT
Address of the recipients. See CURLOPT_MAIL_RCPT() CURLOPT_MAIL_AUTH
Authentication address. See CURLOPT_MAIL_AUTH() TFTP OPTIONS
CURLOPT_TFTP_BLKSIZE
TFTP block size. See CURLOPT_TFTP_BLKSIZE() FTP OPTIONS
CURLOPT_FTPPORT
Use active FTP. See CURLOPT_FTPPORT() CURLOPT_QUOTE
Commands to run before transfer. See CURLOPT_QUOTE() CURLOPT_POSTQUOTE
Commands to run after transfer. See CURLOPT_POSTQUOTE() CURLOPT_PREQUOTE
Commands to run just before transfer. See CURLOPT_PREQUOTE() CURLOPT_APPEND
Append to remote file. See CURLOPT_APPEND() CURLOPT_FTP_USE_EPRT
Use EPTR. See CURLOPT_FTP_USE_EPRT() CURLOPT_FTP_USE_EPSV
Use EPSV. See CURLOPT_FTP_USE_EPSV() CURLOPT_FTP_USE_PRET
Use PRET. See CURLOPT_FTP_USE_PRET() CURLOPT_FTP_CREATE_MISSING_DIRS
Create missing directories on the remote server. See CUR‐LOPT_FTP_CREATE_MISSING_DIRS() CURLOPT_FTP_RESPONSE_TIMEOUT
Timeout for FTP responses. See CURLOPT_FTP_RESPONSE_TIMEOUT() CURLOPT_FTP_ALTERNATIVE_TO_USER
Alternative to USER. See CURLOPT_FTP_ALTERNATIVE_TO_USER() CURLOPT_FTP_SKIP_PASV_IP
Ignore the IP address in the PASV response. See CUR‐LOPT_FTP_SKIP_PASV_IP() CURLOPT_FTPSSLAUTH
Control how to do TLS. See CURLOPT_FTPSSLAUTH() CURLOPT_FTP_SSL_CCC
Back to non-TLS again after authentication. See CUR‐LOPT_FTP_SSL_CCC() CURLOPT_FTP_ACCOUNT
Send ACCT command. See CURLOPT_FTP_ACCOUNT() CURLOPT_FTP_FILEMETHOD
Specify how to reach files. See CURLOPT_FTP_FILEMETHOD() RTSP OPTIONS
CURLOPT_RTSP_REQUEST
RTSP request. See CURLOPT_RTSP_REQUEST() CURLOPT_RTSP_SESSION_ID
RTSP session-id. See CURLOPT_RTSP_SESSION_ID() CURLOPT_RTSP_STREAM_URI
RTSP stream URI. See CURLOPT_RTSP_STREAM_URI() CURLOPT_RTSP_TRANSPORT
RTSP Transport: header. See CURLOPT_RTSP_TRANSPORT() CURLOPT_RTSP_CLIENT_CSEQ
Client CSEQ number. See CURLOPT_RTSP_CLIENT_CSEQ() CURLOPT_RTSP_SERVER_CSEQ
CSEQ number for RTSP Server->Client request. See CUR‐LOPT_RTSP_SERVER_CSEQ() PROTOCOL OPTIONS
CURLOPT_TRANSFERTEXT
Use text transfer. See CURLOPT_TRANSFERTEXT() CURLOPT_PROXY_TRANSFER_MODE
Add transfer mode to URL over proxy. See CURLOPT_PROXY_TRANS‐FER_MODE() CURLOPT_CRLF
Convert newlines. See CURLOPT_CRLF() CURLOPT_RANGE
Range requests. See CURLOPT_RANGE() CURLOPT_RESUME_FROM
Resume a transfer. See CURLOPT_RESUME_FROM() CURLOPT_RESUME_FROM_LARGE
Resume a transfer. See CURLOPT_RESUME_FROM_LARGE() CURLOPT_CUSTOMREQUEST
Custom request/method. See CURLOPT_CUSTOMREQUEST() CURLOPT_FILETIME
Request file modification date and time. See CURLOPT_FILETIME() CURLOPT_DIRLISTONLY
List only. See CURLOPT_DIRLISTONLY() CURLOPT_NOBODY
Do not get the body contents. See CURLOPT_NOBODY() CURLOPT_INFILESIZE
Size of file to send. CURLOPT_INFILESIZE() CURLOPT_INFILESIZE_LARGE
Size of file to send. CURLOPT_INFILESIZE_LARGE() CURLOPT_UPLOAD
Upload data. See CURLOPT_UPLOAD() CURLOPT_MAXFILESIZE
Maximum file size to get. See CURLOPT_MAXFILESIZE() CURLOPT_MAXFILESIZE_LARGE
Maximum file size to get. See CURLOPT_MAXFILESIZE_LARGE() CURLOPT_TIMECONDITION
Make a time conditional request. See CURLOPT_TIMECONDITION() CURLOPT_TIMEVALUE
Time value for the time conditional request. See CUR‐
LOPT_TIMEVALUE() CONNECTION OPTIONS
CURLOPT_TIMEOUT
Timeout for the entire request. See CURLOPT_TIMEOUT() CURLOPT_TIMEOUT_MS
Millisecond timeout for the entire request. See CURLOPT_TIME‐OUT_MS() CURLOPT_LOW_SPEED_LIMIT
Low speed limit to abort transfer. See CUR‐LOPT_LOW_SPEED_LIMIT() CURLOPT_LOW_SPEED_TIME
Time to be below the speed to trigger low speed abort. See CUR‐LOPT_LOW_SPEED_TIME() CURLOPT_MAX_SEND_SPEED_LARGE
Cap the upload speed to this. See CUR‐LOPT_MAX_SEND_SPEED_LARGE() CURLOPT_MAX_RECV_SPEED_LARGE
Cap the download speed to this. See CUR‐LOPT_MAX_RECV_SPEED_LARGE() CURLOPT_MAXCONNECTS
Maximum number of connections in the connection pool. See CUR‐LOPT_MAXCONNECTS() CURLOPT_FRESH_CONNECT
Use a new connection. CURLOPT_FRESH_CONNECT() CURLOPT_FORBID_REUSE
Prevent subsequent connections from re-using this. See CUR‐LOPT_FORBID_REUSE() CURLOPT_CONNECTTIMEOUT
Timeout for the connection phase. See CURLOPT_CONNECTTIMEOUT() CURLOPT_CONNECTTIMEOUT_MS
Millisecond timeout for the connection phase. See CURLOPT_CON‐NECTTIMEOUT_MS() CURLOPT_IPRESOLVE
IP version to resolve to. See CURLOPT_IPRESOLVE() CURLOPT_CONNECT_ONLY
Only connect, nothing else. See CURLOPT_CONNECT_ONLY() CURLOPT_USE_SSL
Use TLS/SSL. See CURLOPT_USE_SSL() CURLOPT_RESOLVE
Provide fixed/fake name resolves. See CURLOPT_RESOLVE() CURLOPT_DNS_INTERFACE
Bind name resolves to this interface. See CURLOPT_DNS_INTER‐FACE() CURLOPT_DNS_LOCAL_IP4
Bind name resolves to this IP4 address. See CUR‐LOPT_DNS_LOCAL_IP4() CURLOPT_DNS_LOCAL_IP6
Bind name resolves to this IP6 address. See CUR‐LOPT_DNS_LOCAL_IP6() CURLOPT_DNS_SERVERS
Preferred DNS servers. See CURLOPT_DNS_SERVERS() CURLOPT_ACCEPTTIMEOUT_MS
Timeout for waiting for the server's connect back to be
accepted. See CURLOPT_ACCEPTTIMEOUT_MS() SSL and SECURITY OPTIONS
CURLOPT_SSLCERT
Client cert. See CURLOPT_SSLCERT() CURLOPT_SSLCERTTYPE
Client cert type. See CURLOPT_SSLCERTTYPE() CURLOPT_SSLKEY
Client key. See CURLOPT_SSLKEY() CURLOPT_SSLKEYTYPE
Client key type. See CURLOPT_SSLKEYTYPE() CURLOPT_KEYPASSWD
Client key password. See CURLOPT_KEYPASSWD() CURLOPT_SSL_ENABLE_ALPN
Enable use of ALPN. See CURLOPT_SSL_ENABLE_ALPN() CURLOPT_SSL_ENABLE_NPN
Enable use of NPN. See CURLOPT_SSL_ENABLE_NPN() CURLOPT_SSLENGINE
Use identifier with SSL engine. See CURLOPT_SSLENGINE() CURLOPT_SSLENGINE_DEFAULT
Default SSL engine. See CURLOPT_SSLENGINE_DEFAULT() CURLOPT_SSL_FALSESTART
Enable TLS False Start. See CURLOPT_SSL_FALSESTART() CURLOPT_SSLVERSION
SSL version to use. See CURLOPT_SSLVERSION() CURLOPT_SSL_VERIFYHOST
Verify the host name in the SSL certificate. See CUR‐LOPT_SSL_VERIFYHOST() CURLOPT_SSL_VERIFYPEER
Verify the SSL certificate. See CURLOPT_SSL_VERIFYPEER() CURLOPT_SSL_VERIFYSTATUS
Verify the SSL certificate's status. See CURLOPT_SSL_VERIFYSTA‐TUS(3) CURLOPT_CAINFO
CA cert bundle. See CURLOPT_CAINFO() CURLOPT_ISSUERCERT
Issuer certificate. See CURLOPT_ISSUERCERT() CURLOPT_CAPATH
Path to CA cert bundle. See CURLOPT_CAPATH() CURLOPT_CRLFILE
Certificate Revocation List. See CURLOPT_CRLFILE() CURLOPT_CERTINFO
Extract certificate info. See CURLOPT_CERTINFO() CURLOPT_PINNEDPUBLICKEY
Set pinned SSL public key . See CURLOPT_PINNEDPUBLICKEY() CURLOPT_RANDOM_FILE
Provide source for entropy random data. See CURLOPT_RAN‐DOM_FILE() CURLOPT_EGDSOCKET
Identify EGD socket for entropy. See CURLOPT_EGDSOCKET() CURLOPT_SSL_CIPHER_LIST
Ciphers to use. See CURLOPT_SSL_CIPHER_LIST() CURLOPT_SSL_SESSIONID_CACHE
Disable SSL session-id cache. See CURLOPT_SSL_SESSIONID_CACHE() CURLOPT_SSL_OPTIONS
Control SSL behavior. See CURLOPT_SSL_OPTIONS() CURLOPT_KRBLEVEL
Kerberos security level. See CURLOPT_KRBLEVEL() CURLOPT_GSSAPI_DELEGATION
Disable GSS-API delegation. See CURLOPT_GSSAPI_DELEGATION() SSH OPTIONS
CURLOPT_SSH_AUTH_TYPES
SSH authentication types. See CURLOPT_SSH_AUTH_TYPES() CURLOPT_SSH_HOST_PUBLIC_KEY_MD5
MD5 of host's public key. See CURLOPT_SSH_HOST_PUBLIC_KEY_MD5(3) CURLOPT_SSH_PUBLIC_KEYFILE
File name of public key. See CURLOPT_SSH_PUBLIC_KEYFILE() CURLOPT_SSH_PRIVATE_KEYFILE
File name of private key. See CURLOPT_SSH_PRIVATE_KEYFILE() CURLOPT_SSH_KNOWNHOSTS
File name with known hosts. See CURLOPT_SSH_KNOWNHOSTS() CURLOPT_SSH_KEYFUNCTION
Callback for known hosts handling. See CURLOPT_SSH_KEYFUNC‐TION() CURLOPT_SSH_KEYDATA
Custom pointer to pass to ssh key callback. See CURLOPT_SSH_KEY‐DATA() OTHER OPTIONS
CURLOPT_PRIVATE
Private pointer to store. See CURLOPT_PRIVATE() CURLOPT_SHARE
Share object to use. See CURLOPT_SHARE() CURLOPT_NEW_FILE_PERMS
Mode for creating new remote files. See CUR‐LOPT_NEW_FILE_PERMS() CURLOPT_NEW_DIRECTORY_PERMS
Mode for creating new remote directories. See CURLOPT_NEW_DIREC‐TORY_PERMS() TELNET OPTIONS
CURLOPT_TELNETOPTIONS
TELNET options. See CURLOPT_TELNETOPTIONS() RETURN VALUE
CURLE_OK (zero) means that the option was set properly, non-zero means an error occurred as <curl/curl.h> defines. See the libcurl-errors() man page for the full list with descriptions. If you try to set an option that libcurl doesn't know about, perhaps because the library is too old to support it or the option was removed in a recent version, this function will return CURLE_UNKNOWN_OPTION. If support for the option was disabled at compile-time, it will return CURLE_NOT_BUILT_IN. EXAMPLE
CURL *curl = curl_easy_init();
if(curl) {
CURLcode res;
curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
} SEE ALSO
curl_easy_init(), curl_easy_cleanup(), curl_easy_reset(), curl_easy_getinfo(), curl_multi_setopt(), libcurl 7.38. Jun curl_easy_setopt()