blob: 75f1ce46bb1abe5697a6e068972584d92ed8a3d6 [file] [log] [blame]
Lucas Eckels9bd90e62012-08-06 15:07:02 -07001.\" **************************************************************************
2.\" * _ _ ____ _
3.\" * Project ___| | | | _ \| |
4.\" * / __| | | | |_) | |
5.\" * | (__| |_| | _ <| |___
6.\" * \___|\___/|_| \_\_____|
7.\" *
Alex Deymo8f1a2142016-06-28 14:49:26 -07008.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
Lucas Eckels9bd90e62012-08-06 15:07:02 -07009.\" *
10.\" * This software is licensed as described in the file COPYING, which
11.\" * you should have received as part of this distribution. The terms
Alex Deymo8f1a2142016-06-28 14:49:26 -070012.\" * are also available at https://curl.haxx.se/docs/copyright.html.
Lucas Eckels9bd90e62012-08-06 15:07:02 -070013.\" *
14.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
15.\" * copies of the Software, and permit persons to whom the Software is
16.\" * furnished to do so, under the terms of the COPYING file.
17.\" *
18.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
19.\" * KIND, either express or implied.
20.\" *
21.\" **************************************************************************
22.\"
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070023.TH curl_easy_setopt 3 "25 Jun 2014" "libcurl 7.38.0" "libcurl Manual"
Lucas Eckels9bd90e62012-08-06 15:07:02 -070024.SH NAME
25curl_easy_setopt \- set options for a curl easy handle
26.SH SYNOPSIS
27#include <curl/curl.h>
28
29CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter);
30.SH DESCRIPTION
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070031\fIcurl_easy_setopt(3)\fP is used to tell libcurl how to behave. By setting
32the appropriate options, the application can change libcurl's behavior. All
33options are set with an \fIoption\fP followed by a \fIparameter\fP. That
34parameter can be a \fBlong\fP, a \fBfunction pointer\fP, an \fBobject
35pointer\fP or a \fBcurl_off_t\fP, depending on what the specific option
36expects. Read this manual carefully as bad input values may cause libcurl to
37behave badly! You can only set one option in each function call. A typical
38application uses many \fIcurl_easy_setopt(3)\fP calls in the setup phase.
Lucas Eckels9bd90e62012-08-06 15:07:02 -070039
40Options set with this function call are valid for all forthcoming transfers
41performed using this \fIhandle\fP. The options are not in any way reset
42between transfers, so if you want subsequent transfers with different options,
43you must change them between the transfers. You can optionally reset all
44options back to internal default with \fIcurl_easy_reset(3)\fP.
45
46Strings passed to libcurl as 'char *' arguments, are copied by the library;
47thus the string storage associated to the pointer argument may be overwritten
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070048after \fIcurl_easy_setopt(3)\fP returns. The only exception to this rule is
49really \fICURLOPT_POSTFIELDS(3)\fP, but the alternative that copies the string
50\fICURLOPT_COPYPOSTFIELDS(3)\fP has some usage characteristics you need to
51read up on.
Lucas Eckels9bd90e62012-08-06 15:07:02 -070052
Alex Deymo8f1a2142016-06-28 14:49:26 -070053The order in which the options are set does not matter.
54
Lucas Eckels9bd90e62012-08-06 15:07:02 -070055Before version 7.17.0, strings were not copied. Instead the user was forced
56keep them available until libcurl no longer needed them.
57
58The \fIhandle\fP is the return code from a \fIcurl_easy_init(3)\fP or
59\fIcurl_easy_duphandle(3)\fP call.
60.SH BEHAVIOR OPTIONS
61.IP CURLOPT_VERBOSE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070062Display verbose information. See \fICURLOPT_VERBOSE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -070063.IP CURLOPT_HEADER
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070064Include the header in the body output. See \fICURLOPT_HEADER(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -070065.IP CURLOPT_NOPROGRESS
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070066Shut off the progress meter. See \fICURLOPT_NOPROGRESS(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -070067.IP CURLOPT_NOSIGNAL
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070068Do not install signal handlers. See \fICURLOPT_NOSIGNAL(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -070069.IP CURLOPT_WILDCARDMATCH
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070070Transfer multiple files according to a file name pattern. See \fICURLOPT_WILDCARDMATCH(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -070071.SH CALLBACK OPTIONS
72.IP CURLOPT_WRITEFUNCTION
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070073Callback for writing data. See \fICURLOPT_WRITEFUNCTION(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -070074.IP CURLOPT_WRITEDATA
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070075Data pointer to pass to the write callback. See \fICURLOPT_WRITEDATA(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -070076.IP CURLOPT_READFUNCTION
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070077Callback for reading data. See \fICURLOPT_READFUNCTION(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -070078.IP CURLOPT_READDATA
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070079Data pointer to pass to the read callback. See \fICURLOPT_READDATA(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -070080.IP CURLOPT_IOCTLFUNCTION
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070081Callback for I/O operations. See \fICURLOPT_IOCTLFUNCTION(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -070082.IP CURLOPT_IOCTLDATA
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070083Data pointer to pass to the I/O callback. See \fICURLOPT_IOCTLDATA(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -070084.IP CURLOPT_SEEKFUNCTION
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070085Callback for seek operations. See \fICURLOPT_SEEKFUNCTION(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -070086.IP CURLOPT_SEEKDATA
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070087Data pointer to pass to the seek callback. See \fICURLOPT_SEEKDATA(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -070088.IP CURLOPT_SOCKOPTFUNCTION
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070089Callback for sockopt operations. See \fICURLOPT_SOCKOPTFUNCTION(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -070090.IP CURLOPT_SOCKOPTDATA
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070091Data pointer to pass to the sockopt callback. See \fICURLOPT_SOCKOPTDATA(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -070092.IP CURLOPT_OPENSOCKETFUNCTION
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070093Callback for socket creation. See \fICURLOPT_OPENSOCKETFUNCTION(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -070094.IP CURLOPT_OPENSOCKETDATA
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070095Data pointer to pass to the open socket callback. See \fICURLOPT_OPENSOCKETDATA(3)\fP
96.IP CURLOPT_CLOSESOCKETFUNCTION
97Callback for closing socket. See \fICURLOPT_CLOSESOCKETFUNCTION(3)\fP
98.IP CURLOPT_CLOSESOCKETDATA
99Data pointer to pass to the close socket callback. See \fICURLOPT_CLOSESOCKETDATA(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700100.IP CURLOPT_PROGRESSFUNCTION
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700101OBSOLETE callback for progress meter. See \fICURLOPT_PROGRESSFUNCTION(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700102.IP CURLOPT_PROGRESSDATA
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700103Data pointer to pass to the progress meter callback. See \fICURLOPT_PROGRESSDATA(3)\fP
104.IP CURLOPT_XFERINFOFUNCTION
105Callback for progress meter. See \fICURLOPT_XFERINFOFUNCTION(3)\fP
106.IP CURLOPT_XFERINFODATA
107Data pointer to pass to the progress meter callback. See \fICURLOPT_XFERINFODATA(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700108.IP CURLOPT_HEADERFUNCTION
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700109Callback for writing received headers. See \fICURLOPT_HEADERFUNCTION(3)\fP
110.IP CURLOPT_HEADERDATA
111Data pointer to pass to the header callback. See \fICURLOPT_HEADERDATA(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700112.IP CURLOPT_DEBUGFUNCTION
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700113Callback for debug information. See \fICURLOPT_DEBUGFUNCTION(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700114.IP CURLOPT_DEBUGDATA
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700115Data pointer to pass to the debug callback. See \fICURLOPT_DEBUGDATA(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700116.IP CURLOPT_SSL_CTX_FUNCTION
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700117Callback for SSL context logic. See \fICURLOPT_SSL_CTX_FUNCTION(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700118.IP CURLOPT_SSL_CTX_DATA
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700119Data pointer to pass to the SSL context callback. See \fICURLOPT_SSL_CTX_DATA(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700120.IP CURLOPT_CONV_TO_NETWORK_FUNCTION
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700121Callback for code base conversion. See \fICURLOPT_CONV_TO_NETWORK_FUNCTION(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700122.IP CURLOPT_CONV_FROM_NETWORK_FUNCTION
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700123Callback for code base conversion. See \fICURLOPT_CONV_FROM_NETWORK_FUNCTION(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700124.IP CURLOPT_CONV_FROM_UTF8_FUNCTION
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700125Callback for code base conversion. See \fICURLOPT_CONV_FROM_UTF8_FUNCTION(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700126.IP CURLOPT_INTERLEAVEFUNCTION
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700127Callback for RTSP interleaved data. See \fICURLOPT_INTERLEAVEFUNCTION(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700128.IP CURLOPT_INTERLEAVEDATA
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700129Data pointer to pass to the RTSP interleave callback. See \fICURLOPT_INTERLEAVEDATA(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700130.IP CURLOPT_CHUNK_BGN_FUNCTION
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700131Callback for wildcard download start of chunk. See \fICURLOPT_CHUNK_BGN_FUNCTION(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700132.IP CURLOPT_CHUNK_END_FUNCTION
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700133Callback for wildcard download end of chunk. See \fICURLOPT_CHUNK_END_FUNCTION(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700134.IP CURLOPT_CHUNK_DATA
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700135Data pointer to pass to the chunk callbacks. See \fICURLOPT_CHUNK_DATA(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700136.IP CURLOPT_FNMATCH_FUNCTION
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700137Callback for wildcard matching. See \fICURLOPT_FNMATCH_FUNCTION(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700138.IP CURLOPT_FNMATCH_DATA
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700139Data pointer to pass to the wildcard matching callback. See \fICURLOPT_FNMATCH_DATA(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700140.SH ERROR OPTIONS
141.IP CURLOPT_ERRORBUFFER
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700142Error message buffer. See \fICURLOPT_ERRORBUFFER(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700143.IP CURLOPT_STDERR
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700144stderr replacement stream. See \fICURLOPT_STDERR(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700145.IP CURLOPT_FAILONERROR
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700146Fail on HTTP 4xx errors. \fICURLOPT_FAILONERROR(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700147.SH NETWORK OPTIONS
148.IP CURLOPT_URL
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700149URL to work on. See \fICURLOPT_URL(3)\fP
150.IP CURLOPT_PATH_AS_IS
151Disable squashing /../ and /./ sequences in the path. See \fICURLOPT_PATH_AS_IS(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700152.IP CURLOPT_PROTOCOLS
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700153Allowed protocols. See \fICURLOPT_PROTOCOLS(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700154.IP CURLOPT_REDIR_PROTOCOLS
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700155Protocols to allow redirects to. See \fICURLOPT_REDIR_PROTOCOLS(3)\fP
Alex Deymo8f1a2142016-06-28 14:49:26 -0700156.IP CURLOPT_DEFAULT_PROTOCOL
157Default protocol. See \fICURLOPT_DEFAULT_PROTOCOL(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700158.IP CURLOPT_PROXY
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700159Proxy to use. See \fICURLOPT_PROXY(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700160.IP CURLOPT_PROXYPORT
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700161Proxy port to use. See \fICURLOPT_PROXYPORT(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700162.IP CURLOPT_PROXYTYPE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700163Proxy type. See \fICURLOPT_PROXYTYPE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700164.IP CURLOPT_NOPROXY
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700165Filter out hosts from proxy use. \fICURLOPT_NOPROXY(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700166.IP CURLOPT_HTTPPROXYTUNNEL
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700167Tunnel through the HTTP proxy. \fICURLOPT_HTTPPROXYTUNNEL(3)\fP
Alex Deymo8f1a2142016-06-28 14:49:26 -0700168.IP CURLOPT_CONNECT_TO
169Connect to a specific host and port. See \fICURLOPT_CONNECT_TO(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700170.IP CURLOPT_SOCKS5_GSSAPI_SERVICE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700171Socks5 GSSAPI service name. \fICURLOPT_SOCKS5_GSSAPI_SERVICE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700172.IP CURLOPT_SOCKS5_GSSAPI_NEC
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700173Socks5 GSSAPI NEC mode. See \fICURLOPT_SOCKS5_GSSAPI_NEC(3)\fP
174.IP CURLOPT_PROXY_SERVICE_NAME
Alex Deymo8f1a2142016-06-28 14:49:26 -0700175Proxy authentication service name. \fICURLOPT_PROXY_SERVICE_NAME(3)\fP
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700176.IP CURLOPT_SERVICE_NAME
Alex Deymo8f1a2142016-06-28 14:49:26 -0700177Authentication service name. \fICURLOPT_SERVICE_NAME(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700178.IP CURLOPT_INTERFACE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700179Bind connection locally to this. See \fICURLOPT_INTERFACE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700180.IP CURLOPT_LOCALPORT
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700181Bind connection locally to this port. See \fICURLOPT_LOCALPORT(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700182.IP CURLOPT_LOCALPORTRANGE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700183Bind connection locally to port range. See \fICURLOPT_LOCALPORTRANGE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700184.IP CURLOPT_DNS_CACHE_TIMEOUT
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700185Timeout for DNS cache. See \fICURLOPT_DNS_CACHE_TIMEOUT(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700186.IP CURLOPT_DNS_USE_GLOBAL_CACHE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700187OBSOLETE Enable global DNS cache. See \fICURLOPT_DNS_USE_GLOBAL_CACHE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700188.IP CURLOPT_BUFFERSIZE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700189Ask for smaller buffer size. See \fICURLOPT_BUFFERSIZE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700190.IP CURLOPT_PORT
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700191Port number to connect to. See \fICURLOPT_PORT(3)\fP
Alex Deymo8f1a2142016-06-28 14:49:26 -0700192.IP CURLOPT_TCP_FASTOPEN
193Enable TFO, TCP Fast Open. See \fICURLOPT_TCP_FASTOPEN(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700194.IP CURLOPT_TCP_NODELAY
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700195Disable the Nagle algorithm. See \fICURLOPT_TCP_NODELAY(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700196.IP CURLOPT_ADDRESS_SCOPE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700197IPv6 scope for local addresses. See \fICURLOPT_ADDRESS_SCOPE(3)\fP
198.IP CURLOPT_TCP_KEEPALIVE
199Enable TCP keep-alive. See \fICURLOPT_TCP_KEEPALIVE(3)\fP
200.IP CURLOPT_TCP_KEEPIDLE
201Idle time before sending keep-alive. See \fICURLOPT_TCP_KEEPIDLE(3)\fP
202.IP CURLOPT_TCP_KEEPINTVL
203Interval between keep-alive probes. See \fICURLOPT_TCP_KEEPINTVL(3)\fP
204.IP CURLOPT_UNIX_SOCKET_PATH
205Path to a Unix domain socket. See \fICURLOPT_UNIX_SOCKET_PATH(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700206.SH NAMES and PASSWORDS OPTIONS (Authentication)
207.IP CURLOPT_NETRC
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700208Enable .netrc parsing. See \fICURLOPT_NETRC(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700209.IP CURLOPT_NETRC_FILE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700210\&.netrc file name. See \fICURLOPT_NETRC_FILE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700211.IP CURLOPT_USERPWD
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700212User name and password. See \fICURLOPT_USERPWD(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700213.IP CURLOPT_PROXYUSERPWD
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700214Proxy user name and password. See \fICURLOPT_PROXYUSERPWD(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700215.IP CURLOPT_USERNAME
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700216User name. See \fICURLOPT_USERNAME(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700217.IP CURLOPT_PASSWORD
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700218Password. See \fICURLOPT_PASSWORD(3)\fP
219.IP CURLOPT_LOGIN_OPTIONS
220Login options. See \fICURLOPT_LOGIN_OPTIONS(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700221.IP CURLOPT_PROXYUSERNAME
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700222Proxy user name. See \fICURLOPT_PROXYUSERNAME(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700223.IP CURLOPT_PROXYPASSWORD
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700224Proxy password. See \fICURLOPT_PROXYPASSWORD(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700225.IP CURLOPT_HTTPAUTH
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700226HTTP server authentication methods. See \fICURLOPT_HTTPAUTH(3)\fP
227.IP CURLOPT_TLSAUTH_USERNAME
228TLS authentication user name. See \fICURLOPT_TLSAUTH_USERNAME(3)\fP
229.IP CURLOPT_TLSAUTH_PASSWORD
230TLS authentication password. See \fICURLOPT_TLSAUTH_PASSWORD(3)\fP
231.IP CURLOPT_TLSAUTH_TYPE
232TLS authentication methods. See \fICURLOPT_TLSAUTH_TYPE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700233.IP CURLOPT_PROXYAUTH
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700234HTTP proxy authentication methods. See \fICURLOPT_PROXYAUTH(3)\fP
235.IP CURLOPT_SASL_IR
236Enable SASL initial response. See \fICURLOPT_SASL_IR(3)\fP
237.IP CURLOPT_XOAUTH2_BEARER
238OAuth2 bearer token. See \fICURLOPT_XOAUTH2_BEARER(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700239.SH HTTP OPTIONS
240.IP CURLOPT_AUTOREFERER
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700241Automatically set Referer: header. See \fICURLOPT_AUTOREFERER(3)\fP
242.IP CURLOPT_ACCEPT_ENCODING
243Accept-Encoding and automatic decompressing data. See \fICURLOPT_ACCEPT_ENCODING(3)\fP
244.IP CURLOPT_TRANSFER_ENCODING
245Request Transfer-Encoding. See \fICURLOPT_TRANSFER_ENCODING(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700246.IP CURLOPT_FOLLOWLOCATION
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700247Follow HTTP redirects. See \fICURLOPT_FOLLOWLOCATION(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700248.IP CURLOPT_UNRESTRICTED_AUTH
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700249Do not restrict authentication to original host. \fICURLOPT_UNRESTRICTED_AUTH(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700250.IP CURLOPT_MAXREDIRS
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700251Maximum number of redirects to follow. See \fICURLOPT_MAXREDIRS(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700252.IP CURLOPT_POSTREDIR
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700253How to act on redirects after POST. See \fICURLOPT_POSTREDIR(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700254.IP CURLOPT_PUT
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700255Issue a HTTP PUT request. See \fICURLOPT_PUT(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700256.IP CURLOPT_POST
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700257Issue a HTTP POST request. See \fICURLOPT_POST(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700258.IP CURLOPT_POSTFIELDS
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700259Send a POST with this data. See \fICURLOPT_POSTFIELDS(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700260.IP CURLOPT_POSTFIELDSIZE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700261The POST data is this big. See \fICURLOPT_POSTFIELDSIZE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700262.IP CURLOPT_POSTFIELDSIZE_LARGE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700263The POST data is this big. See \fICURLOPT_POSTFIELDSIZE_LARGE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700264.IP CURLOPT_COPYPOSTFIELDS
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700265Send a POST with this data - and copy it. See \fICURLOPT_COPYPOSTFIELDS(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700266.IP CURLOPT_HTTPPOST
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700267Multipart formpost HTTP POST. See \fICURLOPT_HTTPPOST(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700268.IP CURLOPT_REFERER
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700269Referer: header. See \fICURLOPT_REFERER(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700270.IP CURLOPT_USERAGENT
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700271User-Agent: header. See \fICURLOPT_USERAGENT(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700272.IP CURLOPT_HTTPHEADER
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700273Custom HTTP headers. See \fICURLOPT_HTTPHEADER(3)\fP
274.IP CURLOPT_HEADEROPT
275Control custom headers. See \fICURLOPT_HEADEROPT(3)\fP
276.IP CURLOPT_PROXYHEADER
277Custom HTTP headers sent to proxy. See \fICURLOPT_PROXYHEADER(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700278.IP CURLOPT_HTTP200ALIASES
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700279Alternative versions of 200 OK. See \fICURLOPT_HTTP200ALIASES(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700280.IP CURLOPT_COOKIE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700281Cookie(s) to send. See \fICURLOPT_COOKIE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700282.IP CURLOPT_COOKIEFILE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700283File to read cookies from. See \fICURLOPT_COOKIEFILE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700284.IP CURLOPT_COOKIEJAR
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700285File to write cookies to. See \fICURLOPT_COOKIEJAR(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700286.IP CURLOPT_COOKIESESSION
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700287Start a new cookie session. See \fICURLOPT_COOKIESESSION(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700288.IP CURLOPT_COOKIELIST
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700289Add or control cookies. See \fICURLOPT_COOKIELIST(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700290.IP CURLOPT_HTTPGET
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700291Do a HTTP GET request. See \fICURLOPT_HTTPGET(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700292.IP CURLOPT_HTTP_VERSION
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700293HTTP version to use. \fICURLOPT_HTTP_VERSION(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700294.IP CURLOPT_IGNORE_CONTENT_LENGTH
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700295Ignore Content-Length. See \fICURLOPT_IGNORE_CONTENT_LENGTH(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700296.IP CURLOPT_HTTP_CONTENT_DECODING
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700297Disable Content decoding. See \fICURLOPT_HTTP_CONTENT_DECODING(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700298.IP CURLOPT_HTTP_TRANSFER_DECODING
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700299Disable Transfer decoding. See \fICURLOPT_HTTP_TRANSFER_DECODING(3)\fP
300.IP CURLOPT_EXPECT_100_TIMEOUT_MS
301100-continue timeout. See \fICURLOPT_EXPECT_100_TIMEOUT_MS(3)\fP
Alex Deymo8f1a2142016-06-28 14:49:26 -0700302.IP CURLOPT_PIPEWAIT
303Wait on connection to pipeline on it. See \fICURLOPT_PIPEWAIT(3)\fP
304.IP CURLOPT_STREAM_DEPENDS
305This HTTP/2 stream depends on another. See \fICURLOPT_STREAM_DEPENDS(3)\fP
306.IP CURLOPT_STREAM_DEPENDS_E
307This HTTP/2 stream depends on another exclusively. See
308\fICURLOPT_STREAM_DEPENDS_E(3)\fP
309.IP CURLOPT_STREAM_WEIGHT
310Set this HTTP/2 stream's weight. See \fICURLOPT_STREAM_WEIGHT(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700311.SH SMTP OPTIONS
312.IP CURLOPT_MAIL_FROM
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700313Address of the sender. See \fICURLOPT_MAIL_FROM(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700314.IP CURLOPT_MAIL_RCPT
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700315Address of the recipients. See \fICURLOPT_MAIL_RCPT(3)\fP
316.IP CURLOPT_MAIL_AUTH
317Authentication address. See \fICURLOPT_MAIL_AUTH(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700318.SH TFTP OPTIONS
319.IP CURLOPT_TFTP_BLKSIZE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700320TFTP block size. See \fICURLOPT_TFTP_BLKSIZE(3)\fP
Alex Deymo8f1a2142016-06-28 14:49:26 -0700321.IP CURLOPT_TFTP_NO_OPTIONS
322Do not send TFTP options requests. See \fICURLOPT_TFTP_NO_OPTIONS(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700323.SH FTP OPTIONS
324.IP CURLOPT_FTPPORT
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700325Use active FTP. See \fICURLOPT_FTPPORT(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700326.IP CURLOPT_QUOTE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700327Commands to run before transfer. See \fICURLOPT_QUOTE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700328.IP CURLOPT_POSTQUOTE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700329Commands to run after transfer. See \fICURLOPT_POSTQUOTE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700330.IP CURLOPT_PREQUOTE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700331Commands to run just before transfer. See \fICURLOPT_PREQUOTE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700332.IP CURLOPT_APPEND
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700333Append to remote file. See \fICURLOPT_APPEND(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700334.IP CURLOPT_FTP_USE_EPRT
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700335Use EPTR. See \fICURLOPT_FTP_USE_EPRT(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700336.IP CURLOPT_FTP_USE_EPSV
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700337Use EPSV. See \fICURLOPT_FTP_USE_EPSV(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700338.IP CURLOPT_FTP_USE_PRET
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700339Use PRET. See \fICURLOPT_FTP_USE_PRET(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700340.IP CURLOPT_FTP_CREATE_MISSING_DIRS
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700341Create missing directories on the remote server. See \fICURLOPT_FTP_CREATE_MISSING_DIRS(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700342.IP CURLOPT_FTP_RESPONSE_TIMEOUT
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700343Timeout for FTP responses. See \fICURLOPT_FTP_RESPONSE_TIMEOUT(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700344.IP CURLOPT_FTP_ALTERNATIVE_TO_USER
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700345Alternative to USER. See \fICURLOPT_FTP_ALTERNATIVE_TO_USER(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700346.IP CURLOPT_FTP_SKIP_PASV_IP
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700347Ignore the IP address in the PASV response. See \fICURLOPT_FTP_SKIP_PASV_IP(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700348.IP CURLOPT_FTPSSLAUTH
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700349Control how to do TLS. See \fICURLOPT_FTPSSLAUTH(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700350.IP CURLOPT_FTP_SSL_CCC
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700351Back to non-TLS again after authentication. See \fICURLOPT_FTP_SSL_CCC(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700352.IP CURLOPT_FTP_ACCOUNT
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700353Send ACCT command. See \fICURLOPT_FTP_ACCOUNT(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700354.IP CURLOPT_FTP_FILEMETHOD
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700355Specify how to reach files. See \fICURLOPT_FTP_FILEMETHOD(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700356.SH RTSP OPTIONS
357.IP CURLOPT_RTSP_REQUEST
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700358RTSP request. See \fICURLOPT_RTSP_REQUEST(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700359.IP CURLOPT_RTSP_SESSION_ID
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700360RTSP session-id. See \fICURLOPT_RTSP_SESSION_ID(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700361.IP CURLOPT_RTSP_STREAM_URI
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700362RTSP stream URI. See \fICURLOPT_RTSP_STREAM_URI(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700363.IP CURLOPT_RTSP_TRANSPORT
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700364RTSP Transport: header. See \fICURLOPT_RTSP_TRANSPORT(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700365.IP CURLOPT_RTSP_CLIENT_CSEQ
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700366Client CSEQ number. See \fICURLOPT_RTSP_CLIENT_CSEQ(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700367.IP CURLOPT_RTSP_SERVER_CSEQ
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700368CSEQ number for RTSP Server->Client request. See \fICURLOPT_RTSP_SERVER_CSEQ(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700369.SH PROTOCOL OPTIONS
370.IP CURLOPT_TRANSFERTEXT
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700371Use text transfer. See \fICURLOPT_TRANSFERTEXT(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700372.IP CURLOPT_PROXY_TRANSFER_MODE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700373Add transfer mode to URL over proxy. See \fICURLOPT_PROXY_TRANSFER_MODE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700374.IP CURLOPT_CRLF
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700375Convert newlines. See \fICURLOPT_CRLF(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700376.IP CURLOPT_RANGE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700377Range requests. See \fICURLOPT_RANGE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700378.IP CURLOPT_RESUME_FROM
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700379Resume a transfer. See \fICURLOPT_RESUME_FROM(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700380.IP CURLOPT_RESUME_FROM_LARGE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700381Resume a transfer. See \fICURLOPT_RESUME_FROM_LARGE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700382.IP CURLOPT_CUSTOMREQUEST
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700383Custom request/method. See \fICURLOPT_CUSTOMREQUEST(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700384.IP CURLOPT_FILETIME
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700385Request file modification date and time. See \fICURLOPT_FILETIME(3)\fP
386.IP CURLOPT_DIRLISTONLY
387List only. See \fICURLOPT_DIRLISTONLY(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700388.IP CURLOPT_NOBODY
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700389Do not get the body contents. See \fICURLOPT_NOBODY(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700390.IP CURLOPT_INFILESIZE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700391Size of file to send. \fICURLOPT_INFILESIZE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700392.IP CURLOPT_INFILESIZE_LARGE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700393Size of file to send. \fICURLOPT_INFILESIZE_LARGE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700394.IP CURLOPT_UPLOAD
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700395Upload data. See \fICURLOPT_UPLOAD(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700396.IP CURLOPT_MAXFILESIZE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700397Maximum file size to get. See \fICURLOPT_MAXFILESIZE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700398.IP CURLOPT_MAXFILESIZE_LARGE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700399Maximum file size to get. See \fICURLOPT_MAXFILESIZE_LARGE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700400.IP CURLOPT_TIMECONDITION
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700401Make a time conditional request. See \fICURLOPT_TIMECONDITION(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700402.IP CURLOPT_TIMEVALUE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700403Time value for the time conditional request. See \fICURLOPT_TIMEVALUE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700404.SH CONNECTION OPTIONS
405.IP CURLOPT_TIMEOUT
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700406Timeout for the entire request. See \fICURLOPT_TIMEOUT(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700407.IP CURLOPT_TIMEOUT_MS
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700408Millisecond timeout for the entire request. See \fICURLOPT_TIMEOUT_MS(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700409.IP CURLOPT_LOW_SPEED_LIMIT
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700410Low speed limit to abort transfer. See \fICURLOPT_LOW_SPEED_LIMIT(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700411.IP CURLOPT_LOW_SPEED_TIME
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700412Time to be below the speed to trigger low speed abort. See \fICURLOPT_LOW_SPEED_TIME(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700413.IP CURLOPT_MAX_SEND_SPEED_LARGE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700414Cap the upload speed to this. See \fICURLOPT_MAX_SEND_SPEED_LARGE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700415.IP CURLOPT_MAX_RECV_SPEED_LARGE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700416Cap the download speed to this. See \fICURLOPT_MAX_RECV_SPEED_LARGE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700417.IP CURLOPT_MAXCONNECTS
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700418Maximum number of connections in the connection pool. See \fICURLOPT_MAXCONNECTS(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700419.IP CURLOPT_FRESH_CONNECT
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700420Use a new connection. \fICURLOPT_FRESH_CONNECT(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700421.IP CURLOPT_FORBID_REUSE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700422Prevent subsequent connections from re-using this. See \fICURLOPT_FORBID_REUSE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700423.IP CURLOPT_CONNECTTIMEOUT
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700424Timeout for the connection phase. See \fICURLOPT_CONNECTTIMEOUT(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700425.IP CURLOPT_CONNECTTIMEOUT_MS
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700426Millisecond timeout for the connection phase. See \fICURLOPT_CONNECTTIMEOUT_MS(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700427.IP CURLOPT_IPRESOLVE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700428IP version to resolve to. See \fICURLOPT_IPRESOLVE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700429.IP CURLOPT_CONNECT_ONLY
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700430Only connect, nothing else. See \fICURLOPT_CONNECT_ONLY(3)\fP
431.IP CURLOPT_USE_SSL
432Use TLS/SSL. See \fICURLOPT_USE_SSL(3)\fP
433.IP CURLOPT_RESOLVE
434Provide fixed/fake name resolves. See \fICURLOPT_RESOLVE(3)\fP
435.IP CURLOPT_DNS_INTERFACE
436Bind name resolves to this interface. See \fICURLOPT_DNS_INTERFACE(3)\fP
437.IP CURLOPT_DNS_LOCAL_IP4
438Bind name resolves to this IP4 address. See \fICURLOPT_DNS_LOCAL_IP4(3)\fP
439.IP CURLOPT_DNS_LOCAL_IP6
440Bind name resolves to this IP6 address. See \fICURLOPT_DNS_LOCAL_IP6(3)\fP
441.IP CURLOPT_DNS_SERVERS
442Preferred DNS servers. See \fICURLOPT_DNS_SERVERS(3)\fP
443.IP CURLOPT_ACCEPTTIMEOUT_MS
444Timeout for waiting for the server's connect back to be accepted. See \fICURLOPT_ACCEPTTIMEOUT_MS(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700445.SH SSL and SECURITY OPTIONS
446.IP CURLOPT_SSLCERT
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700447Client cert. See \fICURLOPT_SSLCERT(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700448.IP CURLOPT_SSLCERTTYPE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700449Client cert type. See \fICURLOPT_SSLCERTTYPE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700450.IP CURLOPT_SSLKEY
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700451Client key. See \fICURLOPT_SSLKEY(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700452.IP CURLOPT_SSLKEYTYPE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700453Client key type. See \fICURLOPT_SSLKEYTYPE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700454.IP CURLOPT_KEYPASSWD
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700455Client key password. See \fICURLOPT_KEYPASSWD(3)\fP
456.IP CURLOPT_SSL_ENABLE_ALPN
457Enable use of ALPN. See \fICURLOPT_SSL_ENABLE_ALPN(3)\fP
458.IP CURLOPT_SSL_ENABLE_NPN
459Enable use of NPN. See \fICURLOPT_SSL_ENABLE_NPN(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700460.IP CURLOPT_SSLENGINE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700461Use identifier with SSL engine. See \fICURLOPT_SSLENGINE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700462.IP CURLOPT_SSLENGINE_DEFAULT
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700463Default SSL engine. See \fICURLOPT_SSLENGINE_DEFAULT(3)\fP
464.IP CURLOPT_SSL_FALSESTART
465Enable TLS False Start. See \fICURLOPT_SSL_FALSESTART(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700466.IP CURLOPT_SSLVERSION
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700467SSL version to use. See \fICURLOPT_SSLVERSION(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700468.IP CURLOPT_SSL_VERIFYHOST
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700469Verify the host name in the SSL certificate. See \fICURLOPT_SSL_VERIFYHOST(3)\fP
470.IP CURLOPT_SSL_VERIFYPEER
471Verify the SSL certificate. See \fICURLOPT_SSL_VERIFYPEER(3)\fP
472.IP CURLOPT_SSL_VERIFYSTATUS
473Verify the SSL certificate's status. See \fICURLOPT_SSL_VERIFYSTATUS(3)\fP
474.IP CURLOPT_CAINFO
475CA cert bundle. See \fICURLOPT_CAINFO(3)\fP
476.IP CURLOPT_ISSUERCERT
477Issuer certificate. See \fICURLOPT_ISSUERCERT(3)\fP
478.IP CURLOPT_CAPATH
479Path to CA cert bundle. See \fICURLOPT_CAPATH(3)\fP
480.IP CURLOPT_CRLFILE
481Certificate Revocation List. See \fICURLOPT_CRLFILE(3)\fP
482.IP CURLOPT_CERTINFO
483Extract certificate info. See \fICURLOPT_CERTINFO(3)\fP
484.IP CURLOPT_PINNEDPUBLICKEY
485Set pinned SSL public key . See \fICURLOPT_PINNEDPUBLICKEY(3)\fP
486.IP CURLOPT_RANDOM_FILE
487Provide source for entropy random data. See \fICURLOPT_RANDOM_FILE(3)\fP
488.IP CURLOPT_EGDSOCKET
489Identify EGD socket for entropy. See \fICURLOPT_EGDSOCKET(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700490.IP CURLOPT_SSL_CIPHER_LIST
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700491Ciphers to use. See \fICURLOPT_SSL_CIPHER_LIST(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700492.IP CURLOPT_SSL_SESSIONID_CACHE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700493Disable SSL session-id cache. See \fICURLOPT_SSL_SESSIONID_CACHE(3)\fP
494.IP CURLOPT_SSL_OPTIONS
495Control SSL behavior. See \fICURLOPT_SSL_OPTIONS(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700496.IP CURLOPT_KRBLEVEL
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700497Kerberos security level. See \fICURLOPT_KRBLEVEL(3)\fP
498.IP CURLOPT_GSSAPI_DELEGATION
499Disable GSS-API delegation. See \fICURLOPT_GSSAPI_DELEGATION(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700500.SH SSH OPTIONS
501.IP CURLOPT_SSH_AUTH_TYPES
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700502SSH authentication types. See \fICURLOPT_SSH_AUTH_TYPES(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700503.IP CURLOPT_SSH_HOST_PUBLIC_KEY_MD5
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700504MD5 of host's public key. See \fICURLOPT_SSH_HOST_PUBLIC_KEY_MD5(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700505.IP CURLOPT_SSH_PUBLIC_KEYFILE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700506File name of public key. See \fICURLOPT_SSH_PUBLIC_KEYFILE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700507.IP CURLOPT_SSH_PRIVATE_KEYFILE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700508File name of private key. See \fICURLOPT_SSH_PRIVATE_KEYFILE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700509.IP CURLOPT_SSH_KNOWNHOSTS
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700510File name with known hosts. See \fICURLOPT_SSH_KNOWNHOSTS(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700511.IP CURLOPT_SSH_KEYFUNCTION
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700512Callback for known hosts handling. See \fICURLOPT_SSH_KEYFUNCTION(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700513.IP CURLOPT_SSH_KEYDATA
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700514Custom pointer to pass to ssh key callback. See \fICURLOPT_SSH_KEYDATA(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700515.SH OTHER OPTIONS
516.IP CURLOPT_PRIVATE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700517Private pointer to store. See \fICURLOPT_PRIVATE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700518.IP CURLOPT_SHARE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700519Share object to use. See \fICURLOPT_SHARE(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700520.IP CURLOPT_NEW_FILE_PERMS
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700521Mode for creating new remote files. See \fICURLOPT_NEW_FILE_PERMS(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700522.IP CURLOPT_NEW_DIRECTORY_PERMS
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700523Mode for creating new remote directories. See \fICURLOPT_NEW_DIRECTORY_PERMS(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700524.SH TELNET OPTIONS
525.IP CURLOPT_TELNETOPTIONS
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700526TELNET options. See \fICURLOPT_TELNETOPTIONS(3)\fP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700527.SH RETURN VALUE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700528\fICURLE_OK\fP (zero) means that the option was set properly, non-zero means an
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700529error occurred as \fI<curl/curl.h>\fP defines. See the \fIlibcurl-errors(3)\fP
530man page for the full list with descriptions.
531
532If you try to set an option that libcurl doesn't know about, perhaps because
533the library is too old to support it or the option was removed in a recent
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700534version, this function will return \fICURLE_UNKNOWN_OPTION\fP. If support for
535the option was disabled at compile-time, it will return
536\fICURLE_NOT_BUILT_IN\fP.
537.SH EXAMPLE
538.nf
539CURL *curl = curl_easy_init();
540if(curl) {
541 CURLcode res;
542 curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
543 res = curl_easy_perform(curl);
544 curl_easy_cleanup(curl);
Alex Deymo8f1a2142016-06-28 14:49:26 -0700545}
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700546.fi
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700547.SH "SEE ALSO"
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700548.BR curl_easy_init "(3), " curl_easy_cleanup "(3), " curl_easy_reset "(3), "
Alex Deymo8f1a2142016-06-28 14:49:26 -0700549.BR curl_easy_getinfo "(3), " curl_multi_setopt "(3), "