中文翻译:
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)
英文原文:
1 curl_easy_setopt(3) libcurl Manual curl_easy_setopt(3) 2 3 NAME 4 curl_easy_setopt - set options for a curl easy handle 5 6 SYNOPSIS 7 #include <curl/curl.h> 8 9 CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter); 10 11 DESCRIPTION 12 curl_easy_setopt(3) 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. 13 14 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(3). 15 16 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(3) returns. The only exception to this rule is really CURLOPT_POSTFIELDS(3), but the alternative that copies the string CURLOPT_COPYPOSTFIELDS(3) has some usage characteris‐ tics you need to read up on. 17 18 The order in which the options are set does not matter. 19 20 Before version 7.17.0, strings were not copied. Instead the user was forced keep them available until libcurl no longer needed them. 21 22 The handle is the return code from a curl_easy_init(3) or curl_easy_duphandle(3) call. 23 24 BEHAVIOR OPTIONS 25 CURLOPT_VERBOSE 26 Display verbose information. See CURLOPT_VERBOSE(3) 27 28 CURLOPT_HEADER 29 Include the header in the body output. See CURLOPT_HEADER(3) 30 31 CURLOPT_NOPROGRESS 32 Shut off the progress meter. See CURLOPT_NOPROGRESS(3) 33 34 CURLOPT_NOSIGNAL 35 Do not install signal handlers. See CURLOPT_NOSIGNAL(3) 36 37 CURLOPT_WILDCARDMATCH 38 Transfer multiple files according to a file name pattern. See CURLOPT_WILDCARDMATCH(3) 39 40 CALLBACK OPTIONS 41 CURLOPT_WRITEFUNCTION 42 Callback for writing data. See CURLOPT_WRITEFUNCTION(3) 43 44 CURLOPT_WRITEDATA 45 Data pointer to pass to the write callback. See CURLOPT_WRITE‐ DATA(3) 46 47 CURLOPT_READFUNCTION 48 Callback for reading data. See CURLOPT_READFUNCTION(3) 49 50 CURLOPT_READDATA 51 Data pointer to pass to the read callback. See CURLOPT_READ‐DATA(3) 52 53 CURLOPT_IOCTLFUNCTION 54 Callback for I/O operations. See CURLOPT_IOCTLFUNCTION(3) 55 56 CURLOPT_IOCTLDATA 57 Data pointer to pass to the I/O callback. See CURLOPT_IOCTL‐DATA(3) 58 59 CURLOPT_SEEKFUNCTION 60 Callback for seek operations. See CURLOPT_SEEKFUNCTION(3) 61 62 CURLOPT_SEEKDATA 63 Data pointer to pass to the seek callback. See CURLOPT_SEEK‐DATA(3) 64 65 CURLOPT_SOCKOPTFUNCTION 66 Callback for sockopt operations. See CURLOPT_SOCKOPTFUNCTION(3) 67 68 CURLOPT_SOCKOPTDATA 69 Data pointer to pass to the sockopt callback. See CURLOPT_SOCK‐OPTDATA(3) 70 71 CURLOPT_OPENSOCKETFUNCTION 72 Callback for socket creation. See CURLOPT_OPENSOCKETFUNCTION(3) 73 74 CURLOPT_OPENSOCKETDATA 75 Data pointer to pass to the open socket callback. See CUR‐LOPT_OPENSOCKETDATA(3) 76 77 CURLOPT_CLOSESOCKETFUNCTION 78 Callback for closing socket. See CURLOPT_CLOSESOCKETFUNCTION(3) 79 80 CURLOPT_CLOSESOCKETDATA 81 Data pointer to pass to the close socket callback. See CUR‐LOPT_CLOSESOCKETDATA(3) 82 83 CURLOPT_PROGRESSFUNCTION 84 OBSOLETE callback for progress meter. See CURLOPT_PROGRESSFUNC‐TION(3) 85 86 CURLOPT_PROGRESSDATA 87 Data pointer to pass to the progress meter callback. See CUR‐LOPT_PROGRESSDATA(3) 88 89 CURLOPT_XFERINFOFUNCTION 90 Callback for progress meter. See CURLOPT_XFERINFOFUNCTION(3) 91 92 CURLOPT_XFERINFODATA 93 Data pointer to pass to the progress meter callback. See CUR‐LOPT_XFERINFODATA(3) 94 95 CURLOPT_HEADERFUNCTION 96 Callback for writing received headers. See CURLOPT_HEADERFUNC‐TION(3) 97 98 CURLOPT_HEADERDATA 99 Data pointer to pass to the header callback. See CURLOPT_HEADER‐DATA(3) 100 101 CURLOPT_DEBUGFUNCTION 102 Callback for debug information. See CURLOPT_DEBUGFUNCTION(3) 103 104 CURLOPT_DEBUGDATA 105 Data pointer to pass to the debug callback. See CURLOPT_DEBUG‐ 106 DATA(3) 107 108 CURLOPT_SSL_CTX_FUNCTION 109 Callback for SSL context logic. See CURLOPT_SSL_CTX_FUNCTION(3) 110 111 CURLOPT_SSL_CTX_DATA 112 Data pointer to pass to the SSL context callback. See CUR‐LOPT_SSL_CTX_DATA(3) 113 114 CURLOPT_CONV_TO_NETWORK_FUNCTION 115 Callback for code base conversion. See CURLOPT_CONV_TO_NET‐WORK_FUNCTION(3) 116 117 CURLOPT_CONV_FROM_NETWORK_FUNCTION 118 Callback for code base conversion. See CURLOPT_CONV_FROM_NET‐WORK_FUNCTION(3) 119 120 CURLOPT_CONV_FROM_UTF8_FUNCTION 121 Callback for code base conversion. See CUR‐LOPT_CONV_FROM_UTF8_FUNCTION(3) 122 123 CURLOPT_INTERLEAVEFUNCTION 124 Callback for RTSP interleaved data. See CURLOPT_INTERLEAVEFUNC‐TION(3) 125 126 CURLOPT_INTERLEAVEDATA 127 Data pointer to pass to the RTSP interleave callback. See CUR‐LOPT_INTERLEAVEDATA(3) 128 129 CURLOPT_CHUNK_BGN_FUNCTION 130 Callback for wildcard download start of chunk. See CUR‐LOPT_CHUNK_BGN_FUNCTION(3) 131 132 CURLOPT_CHUNK_END_FUNCTION 133 Callback for wildcard download end of chunk. See CUR‐LOPT_CHUNK_END_FUNCTION(3) 134 135 CURLOPT_CHUNK_DATA 136 Data pointer to pass to the chunk callbacks. See CUR‐LOPT_CHUNK_DATA(3) 137 138 CURLOPT_FNMATCH_FUNCTION 139 Callback for wildcard matching. See CURLOPT_FNMATCH_FUNCTION(3) 140 141 CURLOPT_FNMATCH_DATA 142 Data pointer to pass to the wildcard matching callback. See CUR‐LOPT_FNMATCH_DATA(3) 143 144 ERROR OPTIONS 145 CURLOPT_ERRORBUFFER 146 Error message buffer. See CURLOPT_ERRORBUFFER(3) 147 148 CURLOPT_STDERR 149 stderr replacement stream. See CURLOPT_STDERR(3) 150 151 CURLOPT_FAILONERROR 152 Fail on HTTP 4xx errors. CURLOPT_FAILONERROR(3) 153 154 NETWORK OPTIONS 155 CURLOPT_URL 156 URL to work on. See CURLOPT_URL(3) 157 158 CURLOPT_PATH_AS_IS 159 Disable squashing /../ and /./ sequences in the path. See CUR‐LOPT_PATH_AS_IS(3) 160 161 CURLOPT_PROTOCOLS 162 Allowed protocols. See CURLOPT_PROTOCOLS(3) 163 164 CURLOPT_REDIR_PROTOCOLS 165 Protocols to allow redirects to. See CURLOPT_REDIR_PROTOCOLS(3) 166 167 CURLOPT_DEFAULT_PROTOCOL 168 Default protocol. See CURLOPT_DEFAULT_PROTOCOL(3) 169 170 CURLOPT_PROXY 171 Proxy to use. See CURLOPT_PROXY(3) 172 173 CURLOPT_PROXYPORT 174 Proxy port to use. See CURLOPT_PROXYPORT(3) 175 176 CURLOPT_PROXYTYPE 177 Proxy type. See CURLOPT_PROXYTYPE(3) 178 179 CURLOPT_NOPROXY 180 Filter out hosts from proxy use. CURLOPT_NOPROXY(3) 181 182 CURLOPT_HTTPPROXYTUNNEL 183 Tunnel through the HTTP proxy. CURLOPT_HTTPPROXYTUNNEL(3) 184 185 CURLOPT_SOCKS5_GSSAPI_SERVICE 186 Socks5 GSSAPI service name. CURLOPT_SOCKS5_GSSAPI_SERVICE(3) 187 188 CURLOPT_SOCKS5_GSSAPI_NEC 189 Socks5 GSSAPI NEC mode. See CURLOPT_SOCKS5_GSSAPI_NEC(3) 190 191 CURLOPT_PROXY_SERVICE_NAME 192 Proxy service name. CURLOPT_PROXY_SERVICE_NAME(3) 193 194 CURLOPT_SERVICE_NAME 195 SPNEGO service name. CURLOPT_SERVICE_NAME(3) 196 197 CURLOPT_INTERFACE 198 Bind connection locally to this. See CURLOPT_INTERFACE(3) 199 200 CURLOPT_LOCALPORT 201 Bind connection locally to this port. See CURLOPT_LOCALPORT(3) 202 203 CURLOPT_LOCALPORTRANGE 204 Bind connection locally to port range. See CURLOPT_LOCALPOR‐TRANGE(3) 205 206 CURLOPT_DNS_CACHE_TIMEOUT 207 Timeout for DNS cache. See CURLOPT_DNS_CACHE_TIMEOUT(3) 208 209 CURLOPT_DNS_USE_GLOBAL_CACHE 210 OBSOLETE Enable global DNS cache. See CUR‐LOPT_DNS_USE_GLOBAL_CACHE(3) 211 212 CURLOPT_BUFFERSIZE 213 Ask for smaller buffer size. See CURLOPT_BUFFERSIZE(3) 214 215 CURLOPT_PORT 216 Port number to connect to. See CURLOPT_PORT(3) 217 218 CURLOPT_TCP_NODELAY 219 Disable the Nagle algorithm. See CURLOPT_TCP_NODELAY(3) 220 221 CURLOPT_ADDRESS_SCOPE 222 IPv6 scope for local addresses. See CURLOPT_ADDRESS_SCOPE(3) 223 224 CURLOPT_TCP_KEEPALIVE 225 Enable TCP keep-alive. See CURLOPT_TCP_KEEPALIVE(3) 226 227 CURLOPT_TCP_KEEPIDLE 228 Idle time before sending keep-alive. See CURLOPT_TCP_KEEPIDLE(3) 229 230 CURLOPT_TCP_KEEPINTVL 231 Interval between keep-alive probes. See CURLOPT_TCP_KEEPINTVL(3) 232 233 CURLOPT_UNIX_SOCKET_PATH 234 Path to a Unix domain socket. See CURLOPT_UNIX_SOCKET_PATH(3) 235 236 NAMES and PASSWORDS OPTIONS (Authentication) 237 CURLOPT_NETRC 238 Enable .netrc parsing. See CURLOPT_NETRC(3) 239 240 CURLOPT_NETRC_FILE 241 .netrc file name. See CURLOPT_NETRC_FILE(3) 242 243 CURLOPT_USERPWD 244 User name and password. See CURLOPT_USERPWD(3) 245 246 CURLOPT_PROXYUSERPWD 247 Proxy user name and password. See CURLOPT_PROXYUSERPWD(3) 248 249 CURLOPT_USERNAME 250 User name. See CURLOPT_USERNAME(3) 251 252 CURLOPT_PASSWORD 253 Password. See CURLOPT_PASSWORD(3) 254 255 CURLOPT_LOGIN_OPTIONS 256 Login options. See CURLOPT_LOGIN_OPTIONS(3) 257 258 CURLOPT_PROXYUSERNAME 259 Proxy user name. See CURLOPT_PROXYUSERNAME(3) 260 261 CURLOPT_PROXYPASSWORD 262 Proxy password. See CURLOPT_PROXYPASSWORD(3) 263 264 CURLOPT_HTTPAUTH 265 HTTP server authentication methods. See CURLOPT_HTTPAUTH(3) 266 267 CURLOPT_TLSAUTH_USERNAME 268 TLS authentication user name. See CURLOPT_TLSAUTH_USERNAME(3) 269 270 CURLOPT_TLSAUTH_PASSWORD 271 TLS authentication password. See CURLOPT_TLSAUTH_PASSWORD(3) 272 273 CURLOPT_TLSAUTH_TYPE 274 TLS authentication methods. See CURLOPT_TLSAUTH_TYPE(3) 275 276 CURLOPT_PROXYAUTH 277 HTTP proxy authentication methods. See CURLOPT_PROXYAUTH(3) 278 279 CURLOPT_SASL_IR 280 Enable SASL initial response. See CURLOPT_SASL_IR(3) 281 282 CURLOPT_XOAUTH2_BEARER 283 OAuth2 bearer token. See CURLOPT_XOAUTH2_BEARER(3) 284 285 HTTP OPTIONS 286 CURLOPT_AUTOREFERER 287 Automatically set Referer: header. See CURLOPT_AUTOREFERER(3) 288 289 CURLOPT_ACCEPT_ENCODING 290 Accept-Encoding and automatic decompressing data. See CUR‐LOPT_ACCEPT_ENCODING(3) 291 292 CURLOPT_TRANSFER_ENCODING 293 Request Transfer-Encoding. See CURLOPT_TRANSFER_ENCODING(3) 294 295 CURLOPT_FOLLOWLOCATION 296 Follow HTTP redirects. See CURLOPT_FOLLOWLOCATION(3) 297 298 CURLOPT_UNRESTRICTED_AUTH 299 Do not restrict authentication to original host. CURLOPT_UNRE‐STRICTED_AUTH(3) 300 301 CURLOPT_MAXREDIRS 302 Maximum number of redirects to follow. See CURLOPT_MAXREDIRS(3) 303 304 CURLOPT_POSTREDIR 305 How to act on redirects after POST. See CURLOPT_POSTREDIR(3) 306 307 CURLOPT_PUT 308 Issue a HTTP PUT request. See CURLOPT_PUT(3) 309 310 CURLOPT_POST 311 Issue a HTTP POST request. See CURLOPT_POST(3) 312 313 CURLOPT_POSTFIELDS 314 Send a POST with this data. See CURLOPT_POSTFIELDS(3) 315 316 CURLOPT_POSTFIELDSIZE 317 The POST data is this big. See CURLOPT_POSTFIELDSIZE(3) 318 319 CURLOPT_POSTFIELDSIZE_LARGE 320 The POST data is this big. See CURLOPT_POSTFIELDSIZE_LARGE(3) 321 322 CURLOPT_COPYPOSTFIELDS 323 Send a POST with this data - and copy it. See CURLOPT_COPYPOST‐FIELDS(3) 324 325 CURLOPT_HTTPPOST 326 Multipart formpost HTTP POST. See CURLOPT_HTTPPOST(3) 327 328 CURLOPT_REFERER 329 Referer: header. See CURLOPT_REFERER(3) 330 331 CURLOPT_USERAGENT 332 User-Agent: header. See CURLOPT_USERAGENT(3) 333 334 CURLOPT_HTTPHEADER 335 Custom HTTP headers. See CURLOPT_HTTPHEADER(3) 336 337 CURLOPT_HEADEROPT 338 Control custom headers. See CURLOPT_HEADEROPT(3) 339 340 CURLOPT_PROXYHEADER 341 Custom HTTP headers sent to proxy. See CURLOPT_PROXYHEADER(3) 342 343 CURLOPT_HTTP200ALIASES 344 Alternative versions of 200 OK. See CURLOPT_HTTP200ALIASES(3) 345 346 CURLOPT_COOKIE 347 Cookie(s) to send. See CURLOPT_COOKIE(3) 348 349 CURLOPT_COOKIEFILE 350 File to read cookies from. See CURLOPT_COOKIEFILE(3) 351 352 CURLOPT_COOKIEJAR 353 File to write cookies to. See CURLOPT_COOKIEJAR(3) 354 355 CURLOPT_COOKIESESSION 356 Start a new cookie session. See CURLOPT_COOKIESESSION(3) 357 358 CURLOPT_COOKIELIST 359 Add or control cookies. See CURLOPT_COOKIELIST(3) 360 361 CURLOPT_HTTPGET 362 Do a HTTP GET request. See CURLOPT_HTTPGET(3) 363 364 CURLOPT_HTTP_VERSION 365 HTTP version to use. CURLOPT_HTTP_VERSION(3) 366 367 CURLOPT_IGNORE_CONTENT_LENGTH 368 Ignore Content-Length. See CURLOPT_IGNORE_CONTENT_LENGTH(3) 369 370 CURLOPT_HTTP_CONTENT_DECODING 371 Disable Content decoding. See CURLOPT_HTTP_CONTENT_DECODING(3) 372 373 CURLOPT_HTTP_TRANSFER_DECODING 374 Disable Transfer decoding. See CURLOPT_HTTP_TRANSFER_DECODING(3) 375 376 CURLOPT_EXPECT_100_TIMEOUT_MS 377 100-continue timeout. See CURLOPT_EXPECT_100_TIMEOUT_MS(3) 378 379 CURLOPT_PIPEWAIT 380 Wait on connection to pipeline on it. See CURLOPT_PIPEWAIT(3) 381 382 CURLOPT_STREAM_DEPENDS 383 This HTTP/2 stream depends on another. See CUR‐LOPT_STREAM_DEPENDS(3) 384 385 CURLOPT_STREAM_DEPENDS_E 386 This HTTP/2 stream depends on another exclusively. See CUR‐LOPT_STREAM_DEPENDS_E(3) 387 388 CURLOPT_STREAM_WEIGHT 389 Set this HTTP/2 stream's weight. See CURLOPT_STREAM_WEIGHT(3) 390 391 SMTP OPTIONS 392 CURLOPT_MAIL_FROM 393 Address of the sender. See CURLOPT_MAIL_FROM(3) 394 395 CURLOPT_MAIL_RCPT 396 Address of the recipients. See CURLOPT_MAIL_RCPT(3) 397 398 CURLOPT_MAIL_AUTH 399 Authentication address. See CURLOPT_MAIL_AUTH(3) 400 401 TFTP OPTIONS 402 CURLOPT_TFTP_BLKSIZE 403 TFTP block size. See CURLOPT_TFTP_BLKSIZE(3) 404 405 FTP OPTIONS 406 CURLOPT_FTPPORT 407 Use active FTP. See CURLOPT_FTPPORT(3) 408 409 CURLOPT_QUOTE 410 Commands to run before transfer. See CURLOPT_QUOTE(3) 411 412 CURLOPT_POSTQUOTE 413 Commands to run after transfer. See CURLOPT_POSTQUOTE(3) 414 415 CURLOPT_PREQUOTE 416 Commands to run just before transfer. See CURLOPT_PREQUOTE(3) 417 418 CURLOPT_APPEND 419 Append to remote file. See CURLOPT_APPEND(3) 420 421 CURLOPT_FTP_USE_EPRT 422 Use EPTR. See CURLOPT_FTP_USE_EPRT(3) 423 424 CURLOPT_FTP_USE_EPSV 425 Use EPSV. See CURLOPT_FTP_USE_EPSV(3) 426 427 CURLOPT_FTP_USE_PRET 428 Use PRET. See CURLOPT_FTP_USE_PRET(3) 429 430 CURLOPT_FTP_CREATE_MISSING_DIRS 431 Create missing directories on the remote server. See CUR‐LOPT_FTP_CREATE_MISSING_DIRS(3) 432 433 CURLOPT_FTP_RESPONSE_TIMEOUT 434 Timeout for FTP responses. See CURLOPT_FTP_RESPONSE_TIMEOUT(3) 435 436 CURLOPT_FTP_ALTERNATIVE_TO_USER 437 Alternative to USER. See CURLOPT_FTP_ALTERNATIVE_TO_USER(3) 438 439 CURLOPT_FTP_SKIP_PASV_IP 440 Ignore the IP address in the PASV response. See CUR‐LOPT_FTP_SKIP_PASV_IP(3) 441 442 CURLOPT_FTPSSLAUTH 443 Control how to do TLS. See CURLOPT_FTPSSLAUTH(3) 444 445 CURLOPT_FTP_SSL_CCC 446 Back to non-TLS again after authentication. See CUR‐LOPT_FTP_SSL_CCC(3) 447 448 CURLOPT_FTP_ACCOUNT 449 Send ACCT command. See CURLOPT_FTP_ACCOUNT(3) 450 451 CURLOPT_FTP_FILEMETHOD 452 Specify how to reach files. See CURLOPT_FTP_FILEMETHOD(3) 453 454 RTSP OPTIONS 455 CURLOPT_RTSP_REQUEST 456 RTSP request. See CURLOPT_RTSP_REQUEST(3) 457 458 CURLOPT_RTSP_SESSION_ID 459 RTSP session-id. See CURLOPT_RTSP_SESSION_ID(3) 460 461 CURLOPT_RTSP_STREAM_URI 462 RTSP stream URI. See CURLOPT_RTSP_STREAM_URI(3) 463 464 CURLOPT_RTSP_TRANSPORT 465 RTSP Transport: header. See CURLOPT_RTSP_TRANSPORT(3) 466 467 CURLOPT_RTSP_CLIENT_CSEQ 468 Client CSEQ number. See CURLOPT_RTSP_CLIENT_CSEQ(3) 469 470 CURLOPT_RTSP_SERVER_CSEQ 471 CSEQ number for RTSP Server->Client request. See CUR‐LOPT_RTSP_SERVER_CSEQ(3) 472 473 PROTOCOL OPTIONS 474 CURLOPT_TRANSFERTEXT 475 Use text transfer. See CURLOPT_TRANSFERTEXT(3) 476 477 CURLOPT_PROXY_TRANSFER_MODE 478 Add transfer mode to URL over proxy. See CURLOPT_PROXY_TRANS‐FER_MODE(3) 479 480 CURLOPT_CRLF 481 Convert newlines. See CURLOPT_CRLF(3) 482 483 CURLOPT_RANGE 484 Range requests. See CURLOPT_RANGE(3) 485 486 CURLOPT_RESUME_FROM 487 Resume a transfer. See CURLOPT_RESUME_FROM(3) 488 489 CURLOPT_RESUME_FROM_LARGE 490 Resume a transfer. See CURLOPT_RESUME_FROM_LARGE(3) 491 492 CURLOPT_CUSTOMREQUEST 493 Custom request/method. See CURLOPT_CUSTOMREQUEST(3) 494 495 CURLOPT_FILETIME 496 Request file modification date and time. See CURLOPT_FILETIME(3) 497 498 CURLOPT_DIRLISTONLY 499 List only. See CURLOPT_DIRLISTONLY(3) 500 501 CURLOPT_NOBODY 502 Do not get the body contents. See CURLOPT_NOBODY(3) 503 504 CURLOPT_INFILESIZE 505 Size of file to send. CURLOPT_INFILESIZE(3) 506 507 CURLOPT_INFILESIZE_LARGE 508 Size of file to send. CURLOPT_INFILESIZE_LARGE(3) 509 510 CURLOPT_UPLOAD 511 Upload data. See CURLOPT_UPLOAD(3) 512 513 CURLOPT_MAXFILESIZE 514 Maximum file size to get. See CURLOPT_MAXFILESIZE(3) 515 516 CURLOPT_MAXFILESIZE_LARGE 517 Maximum file size to get. See CURLOPT_MAXFILESIZE_LARGE(3) 518 519 CURLOPT_TIMECONDITION 520 Make a time conditional request. See CURLOPT_TIMECONDITION(3) 521 522 CURLOPT_TIMEVALUE 523 Time value for the time conditional request. See CUR‐ 524 LOPT_TIMEVALUE(3) 525 526 CONNECTION OPTIONS 527 CURLOPT_TIMEOUT 528 Timeout for the entire request. See CURLOPT_TIMEOUT(3) 529 530 CURLOPT_TIMEOUT_MS 531 Millisecond timeout for the entire request. See CURLOPT_TIME‐OUT_MS(3) 532 533 CURLOPT_LOW_SPEED_LIMIT 534 Low speed limit to abort transfer. See CUR‐LOPT_LOW_SPEED_LIMIT(3) 535 536 CURLOPT_LOW_SPEED_TIME 537 Time to be below the speed to trigger low speed abort. See CUR‐LOPT_LOW_SPEED_TIME(3) 538 539 CURLOPT_MAX_SEND_SPEED_LARGE 540 Cap the upload speed to this. See CUR‐LOPT_MAX_SEND_SPEED_LARGE(3) 541 542 CURLOPT_MAX_RECV_SPEED_LARGE 543 Cap the download speed to this. See CUR‐LOPT_MAX_RECV_SPEED_LARGE(3) 544 545 CURLOPT_MAXCONNECTS 546 Maximum number of connections in the connection pool. See CUR‐LOPT_MAXCONNECTS(3) 547 548 CURLOPT_FRESH_CONNECT 549 Use a new connection. CURLOPT_FRESH_CONNECT(3) 550 551 CURLOPT_FORBID_REUSE 552 Prevent subsequent connections from re-using this. See CUR‐LOPT_FORBID_REUSE(3) 553 554 CURLOPT_CONNECTTIMEOUT 555 Timeout for the connection phase. See CURLOPT_CONNECTTIMEOUT(3) 556 557 CURLOPT_CONNECTTIMEOUT_MS 558 Millisecond timeout for the connection phase. See CURLOPT_CON‐NECTTIMEOUT_MS(3) 559 560 CURLOPT_IPRESOLVE 561 IP version to resolve to. See CURLOPT_IPRESOLVE(3) 562 563 CURLOPT_CONNECT_ONLY 564 Only connect, nothing else. See CURLOPT_CONNECT_ONLY(3) 565 566 CURLOPT_USE_SSL 567 Use TLS/SSL. See CURLOPT_USE_SSL(3) 568 569 CURLOPT_RESOLVE 570 Provide fixed/fake name resolves. See CURLOPT_RESOLVE(3) 571 572 CURLOPT_DNS_INTERFACE 573 Bind name resolves to this interface. See CURLOPT_DNS_INTER‐FACE(3) 574 575 CURLOPT_DNS_LOCAL_IP4 576 Bind name resolves to this IP4 address. See CUR‐LOPT_DNS_LOCAL_IP4(3) 577 578 CURLOPT_DNS_LOCAL_IP6 579 Bind name resolves to this IP6 address. See CUR‐LOPT_DNS_LOCAL_IP6(3) 580 581 CURLOPT_DNS_SERVERS 582 Preferred DNS servers. See CURLOPT_DNS_SERVERS(3) 583 584 CURLOPT_ACCEPTTIMEOUT_MS 585 Timeout for waiting for the server's connect back to be 586 accepted. See CURLOPT_ACCEPTTIMEOUT_MS(3) 587 588 SSL and SECURITY OPTIONS 589 CURLOPT_SSLCERT 590 Client cert. See CURLOPT_SSLCERT(3) 591 592 CURLOPT_SSLCERTTYPE 593 Client cert type. See CURLOPT_SSLCERTTYPE(3) 594 595 CURLOPT_SSLKEY 596 Client key. See CURLOPT_SSLKEY(3) 597 598 CURLOPT_SSLKEYTYPE 599 Client key type. See CURLOPT_SSLKEYTYPE(3) 600 601 CURLOPT_KEYPASSWD 602 Client key password. See CURLOPT_KEYPASSWD(3) 603 604 CURLOPT_SSL_ENABLE_ALPN 605 Enable use of ALPN. See CURLOPT_SSL_ENABLE_ALPN(3) 606 607 CURLOPT_SSL_ENABLE_NPN 608 Enable use of NPN. See CURLOPT_SSL_ENABLE_NPN(3) 609 610 CURLOPT_SSLENGINE 611 Use identifier with SSL engine. See CURLOPT_SSLENGINE(3) 612 613 CURLOPT_SSLENGINE_DEFAULT 614 Default SSL engine. See CURLOPT_SSLENGINE_DEFAULT(3) 615 616 CURLOPT_SSL_FALSESTART 617 Enable TLS False Start. See CURLOPT_SSL_FALSESTART(3) 618 619 CURLOPT_SSLVERSION 620 SSL version to use. See CURLOPT_SSLVERSION(3) 621 622 CURLOPT_SSL_VERIFYHOST 623 Verify the host name in the SSL certificate. See CUR‐LOPT_SSL_VERIFYHOST(3) 624 625 CURLOPT_SSL_VERIFYPEER 626 Verify the SSL certificate. See CURLOPT_SSL_VERIFYPEER(3) 627 628 CURLOPT_SSL_VERIFYSTATUS 629 Verify the SSL certificate's status. See CURLOPT_SSL_VERIFYSTA‐TUS(3) 630 631 CURLOPT_CAINFO 632 CA cert bundle. See CURLOPT_CAINFO(3) 633 634 CURLOPT_ISSUERCERT 635 Issuer certificate. See CURLOPT_ISSUERCERT(3) 636 637 CURLOPT_CAPATH 638 Path to CA cert bundle. See CURLOPT_CAPATH(3) 639 640 CURLOPT_CRLFILE 641 Certificate Revocation List. See CURLOPT_CRLFILE(3) 642 643 CURLOPT_CERTINFO 644 Extract certificate info. See CURLOPT_CERTINFO(3) 645 646 CURLOPT_PINNEDPUBLICKEY 647 Set pinned SSL public key . See CURLOPT_PINNEDPUBLICKEY(3) 648 649 CURLOPT_RANDOM_FILE 650 Provide source for entropy random data. See CURLOPT_RAN‐DOM_FILE(3) 651 652 CURLOPT_EGDSOCKET 653 Identify EGD socket for entropy. See CURLOPT_EGDSOCKET(3) 654 655 CURLOPT_SSL_CIPHER_LIST 656 Ciphers to use. See CURLOPT_SSL_CIPHER_LIST(3) 657 658 CURLOPT_SSL_SESSIONID_CACHE 659 Disable SSL session-id cache. See CURLOPT_SSL_SESSIONID_CACHE(3) 660 661 CURLOPT_SSL_OPTIONS 662 Control SSL behavior. See CURLOPT_SSL_OPTIONS(3) 663 664 CURLOPT_KRBLEVEL 665 Kerberos security level. See CURLOPT_KRBLEVEL(3) 666 667 CURLOPT_GSSAPI_DELEGATION 668 Disable GSS-API delegation. See CURLOPT_GSSAPI_DELEGATION(3) 669 670 SSH OPTIONS 671 CURLOPT_SSH_AUTH_TYPES 672 SSH authentication types. See CURLOPT_SSH_AUTH_TYPES(3) 673 674 CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 675 MD5 of host's public key. See CURLOPT_SSH_HOST_PUBLIC_KEY_MD5(3) 676 677 CURLOPT_SSH_PUBLIC_KEYFILE 678 File name of public key. See CURLOPT_SSH_PUBLIC_KEYFILE(3) 679 680 CURLOPT_SSH_PRIVATE_KEYFILE 681 File name of private key. See CURLOPT_SSH_PRIVATE_KEYFILE(3) 682 683 CURLOPT_SSH_KNOWNHOSTS 684 File name with known hosts. See CURLOPT_SSH_KNOWNHOSTS(3) 685 686 CURLOPT_SSH_KEYFUNCTION 687 Callback for known hosts handling. See CURLOPT_SSH_KEYFUNC‐TION(3) 688 689 CURLOPT_SSH_KEYDATA 690 Custom pointer to pass to ssh key callback. See CURLOPT_SSH_KEY‐DATA(3) 691 692 OTHER OPTIONS 693 CURLOPT_PRIVATE 694 Private pointer to store. See CURLOPT_PRIVATE(3) 695 696 CURLOPT_SHARE 697 Share object to use. See CURLOPT_SHARE(3) 698 699 CURLOPT_NEW_FILE_PERMS 700 Mode for creating new remote files. See CUR‐LOPT_NEW_FILE_PERMS(3) 701 702 CURLOPT_NEW_DIRECTORY_PERMS 703 Mode for creating new remote directories. See CURLOPT_NEW_DIREC‐TORY_PERMS(3) 704 705 TELNET OPTIONS 706 CURLOPT_TELNETOPTIONS 707 TELNET options. See CURLOPT_TELNETOPTIONS(3) 708 709 RETURN VALUE 710 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(3) man page for the full list with descriptions. 711 712 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. 713 714 EXAMPLE 715 CURL *curl = curl_easy_init(); 716 if(curl) { 717 CURLcode res; 718 curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); 719 res = curl_easy_perform(curl); 720 curl_easy_cleanup(curl); 721 } 722 723 SEE ALSO 724 curl_easy_init(3), curl_easy_cleanup(3), curl_easy_reset(3), curl_easy_getinfo(3), curl_multi_setopt(3), 725 726 libcurl 7.38.0 25 Jun 2014 curl_easy_setopt(3)