comparison mupdf-source/thirdparty/curl/docs/libcurl/curl_easy_setopt.3 @ 2:b50eed0cc0ef upstream

ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4. The directory name has changed: no version number in the expanded directory now.
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 15 Sep 2025 11:43:07 +0200
parents
children
comparison
equal deleted inserted replaced
1:1d09e1dec1d9 2:b50eed0cc0ef
1 .\" **************************************************************************
2 .\" * _ _ ____ _
3 .\" * Project ___| | | | _ \| |
4 .\" * / __| | | | |_) | |
5 .\" * | (__| |_| | _ <| |___
6 .\" * \___|\___/|_| \_\_____|
7 .\" *
8 .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
9 .\" *
10 .\" * This software is licensed as described in the file COPYING, which
11 .\" * you should have received as part of this distribution. The terms
12 .\" * are also available at https://curl.haxx.se/docs/copyright.html.
13 .\" *
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 .\"
23 .TH curl_easy_setopt 3 "25 Jun 2014" "libcurl 7.38.0" "libcurl Manual"
24 .SH NAME
25 curl_easy_setopt \- set options for a curl easy handle
26 .SH SYNOPSIS
27 #include <curl/curl.h>
28
29 CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter);
30 .SH DESCRIPTION
31 \fIcurl_easy_setopt(3)\fP is used to tell libcurl how to behave. By setting
32 the appropriate options, the application can change libcurl's behavior. All
33 options are set with an \fIoption\fP followed by a \fIparameter\fP. That
34 parameter can be a \fBlong\fP, a \fBfunction pointer\fP, an \fBobject
35 pointer\fP or a \fBcurl_off_t\fP, depending on what the specific option
36 expects. Read this manual carefully as bad input values may cause libcurl to
37 behave badly! You can only set one option in each function call. A typical
38 application uses many \fIcurl_easy_setopt(3)\fP calls in the setup phase.
39
40 Options set with this function call are valid for all forthcoming transfers
41 performed using this \fIhandle\fP. The options are not in any way reset
42 between transfers, so if you want subsequent transfers with different options,
43 you must change them between the transfers. You can optionally reset all
44 options back to internal default with \fIcurl_easy_reset(3)\fP.
45
46 Strings passed to libcurl as 'char *' arguments, are copied by the library;
47 thus the string storage associated to the pointer argument may be overwritten
48 after \fIcurl_easy_setopt(3)\fP returns. The only exception to this rule is
49 really \fICURLOPT_POSTFIELDS(3)\fP, but the alternative that copies the string
50 \fICURLOPT_COPYPOSTFIELDS(3)\fP has some usage characteristics you need to
51 read up on.
52
53 The order in which the options are set does not matter.
54
55 Before version 7.17.0, strings were not copied. Instead the user was forced
56 keep them available until libcurl no longer needed them.
57
58 The \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
62 Display verbose information. See \fICURLOPT_VERBOSE(3)\fP
63 .IP CURLOPT_HEADER
64 Include the header in the body output. See \fICURLOPT_HEADER(3)\fP
65 .IP CURLOPT_NOPROGRESS
66 Shut off the progress meter. See \fICURLOPT_NOPROGRESS(3)\fP
67 .IP CURLOPT_NOSIGNAL
68 Do not install signal handlers. See \fICURLOPT_NOSIGNAL(3)\fP
69 .IP CURLOPT_WILDCARDMATCH
70 Transfer multiple files according to a file name pattern. See \fICURLOPT_WILDCARDMATCH(3)\fP
71 .SH CALLBACK OPTIONS
72 .IP CURLOPT_WRITEFUNCTION
73 Callback for writing data. See \fICURLOPT_WRITEFUNCTION(3)\fP
74 .IP CURLOPT_WRITEDATA
75 Data pointer to pass to the write callback. See \fICURLOPT_WRITEDATA(3)\fP
76 .IP CURLOPT_READFUNCTION
77 Callback for reading data. See \fICURLOPT_READFUNCTION(3)\fP
78 .IP CURLOPT_READDATA
79 Data pointer to pass to the read callback. See \fICURLOPT_READDATA(3)\fP
80 .IP CURLOPT_IOCTLFUNCTION
81 Callback for I/O operations. See \fICURLOPT_IOCTLFUNCTION(3)\fP
82 .IP CURLOPT_IOCTLDATA
83 Data pointer to pass to the I/O callback. See \fICURLOPT_IOCTLDATA(3)\fP
84 .IP CURLOPT_SEEKFUNCTION
85 Callback for seek operations. See \fICURLOPT_SEEKFUNCTION(3)\fP
86 .IP CURLOPT_SEEKDATA
87 Data pointer to pass to the seek callback. See \fICURLOPT_SEEKDATA(3)\fP
88 .IP CURLOPT_SOCKOPTFUNCTION
89 Callback for sockopt operations. See \fICURLOPT_SOCKOPTFUNCTION(3)\fP
90 .IP CURLOPT_SOCKOPTDATA
91 Data pointer to pass to the sockopt callback. See \fICURLOPT_SOCKOPTDATA(3)\fP
92 .IP CURLOPT_OPENSOCKETFUNCTION
93 Callback for socket creation. See \fICURLOPT_OPENSOCKETFUNCTION(3)\fP
94 .IP CURLOPT_OPENSOCKETDATA
95 Data pointer to pass to the open socket callback. See \fICURLOPT_OPENSOCKETDATA(3)\fP
96 .IP CURLOPT_CLOSESOCKETFUNCTION
97 Callback for closing socket. See \fICURLOPT_CLOSESOCKETFUNCTION(3)\fP
98 .IP CURLOPT_CLOSESOCKETDATA
99 Data pointer to pass to the close socket callback. See \fICURLOPT_CLOSESOCKETDATA(3)\fP
100 .IP CURLOPT_PROGRESSFUNCTION
101 OBSOLETE callback for progress meter. See \fICURLOPT_PROGRESSFUNCTION(3)\fP
102 .IP CURLOPT_PROGRESSDATA
103 Data pointer to pass to the progress meter callback. See \fICURLOPT_PROGRESSDATA(3)\fP
104 .IP CURLOPT_XFERINFOFUNCTION
105 Callback for progress meter. See \fICURLOPT_XFERINFOFUNCTION(3)\fP
106 .IP CURLOPT_XFERINFODATA
107 Data pointer to pass to the progress meter callback. See \fICURLOPT_XFERINFODATA(3)\fP
108 .IP CURLOPT_HEADERFUNCTION
109 Callback for writing received headers. See \fICURLOPT_HEADERFUNCTION(3)\fP
110 .IP CURLOPT_HEADERDATA
111 Data pointer to pass to the header callback. See \fICURLOPT_HEADERDATA(3)\fP
112 .IP CURLOPT_DEBUGFUNCTION
113 Callback for debug information. See \fICURLOPT_DEBUGFUNCTION(3)\fP
114 .IP CURLOPT_DEBUGDATA
115 Data pointer to pass to the debug callback. See \fICURLOPT_DEBUGDATA(3)\fP
116 .IP CURLOPT_SSL_CTX_FUNCTION
117 Callback for SSL context logic. See \fICURLOPT_SSL_CTX_FUNCTION(3)\fP
118 .IP CURLOPT_SSL_CTX_DATA
119 Data pointer to pass to the SSL context callback. See \fICURLOPT_SSL_CTX_DATA(3)\fP
120 .IP CURLOPT_CONV_TO_NETWORK_FUNCTION
121 Callback for code base conversion. See \fICURLOPT_CONV_TO_NETWORK_FUNCTION(3)\fP
122 .IP CURLOPT_CONV_FROM_NETWORK_FUNCTION
123 Callback for code base conversion. See \fICURLOPT_CONV_FROM_NETWORK_FUNCTION(3)\fP
124 .IP CURLOPT_CONV_FROM_UTF8_FUNCTION
125 Callback for code base conversion. See \fICURLOPT_CONV_FROM_UTF8_FUNCTION(3)\fP
126 .IP CURLOPT_INTERLEAVEFUNCTION
127 Callback for RTSP interleaved data. See \fICURLOPT_INTERLEAVEFUNCTION(3)\fP
128 .IP CURLOPT_INTERLEAVEDATA
129 Data pointer to pass to the RTSP interleave callback. See \fICURLOPT_INTERLEAVEDATA(3)\fP
130 .IP CURLOPT_CHUNK_BGN_FUNCTION
131 Callback for wildcard download start of chunk. See \fICURLOPT_CHUNK_BGN_FUNCTION(3)\fP
132 .IP CURLOPT_CHUNK_END_FUNCTION
133 Callback for wildcard download end of chunk. See \fICURLOPT_CHUNK_END_FUNCTION(3)\fP
134 .IP CURLOPT_CHUNK_DATA
135 Data pointer to pass to the chunk callbacks. See \fICURLOPT_CHUNK_DATA(3)\fP
136 .IP CURLOPT_FNMATCH_FUNCTION
137 Callback for wildcard matching. See \fICURLOPT_FNMATCH_FUNCTION(3)\fP
138 .IP CURLOPT_FNMATCH_DATA
139 Data pointer to pass to the wildcard matching callback. See \fICURLOPT_FNMATCH_DATA(3)\fP
140 .IP CURLOPT_SUPPRESS_CONNECT_HEADERS
141 Suppress proxy CONNECT response headers from user callbacks. See \fICURLOPT_SUPPRESS_CONNECT_HEADERS(3)\fP
142 .IP CURLOPT_RESOLVER_START_FUNCTION
143 Callback to be called before a new resolve request is started. See \fICURLOPT_RESOLVER_START_FUNCTION(3)\fP
144 .IP CURLOPT_RESOLVER_START_DATA
145 Data pointer to pass to resolver start callback. See \fICURLOPT_RESOLVER_START_DATA(3)\fP
146 .SH ERROR OPTIONS
147 .IP CURLOPT_ERRORBUFFER
148 Error message buffer. See \fICURLOPT_ERRORBUFFER(3)\fP
149 .IP CURLOPT_STDERR
150 stderr replacement stream. See \fICURLOPT_STDERR(3)\fP
151 .IP CURLOPT_FAILONERROR
152 Fail on HTTP 4xx errors. \fICURLOPT_FAILONERROR(3)\fP
153 .IP CURLOPT_KEEP_SENDING_ON_ERROR
154 Keep sending on HTTP >= 300 errors. \fICURLOPT_KEEP_SENDING_ON_ERROR(3)\fP
155 .SH NETWORK OPTIONS
156 .IP CURLOPT_URL
157 URL to work on. See \fICURLOPT_URL(3)\fP
158 .IP CURLOPT_PATH_AS_IS
159 Disable squashing /../ and /./ sequences in the path. See \fICURLOPT_PATH_AS_IS(3)\fP
160 .IP CURLOPT_PROTOCOLS
161 Allowed protocols. See \fICURLOPT_PROTOCOLS(3)\fP
162 .IP CURLOPT_REDIR_PROTOCOLS
163 Protocols to allow redirects to. See \fICURLOPT_REDIR_PROTOCOLS(3)\fP
164 .IP CURLOPT_DEFAULT_PROTOCOL
165 Default protocol. See \fICURLOPT_DEFAULT_PROTOCOL(3)\fP
166 .IP CURLOPT_PROXY
167 Proxy to use. See \fICURLOPT_PROXY(3)\fP
168 .IP CURLOPT_PRE_PROXY
169 Socks proxy to use. See \fICURLOPT_PRE_PROXY(3)\fP
170 .IP CURLOPT_PROXYPORT
171 Proxy port to use. See \fICURLOPT_PROXYPORT(3)\fP
172 .IP CURLOPT_PROXYTYPE
173 Proxy type. See \fICURLOPT_PROXYTYPE(3)\fP
174 .IP CURLOPT_NOPROXY
175 Filter out hosts from proxy use. \fICURLOPT_NOPROXY(3)\fP
176 .IP CURLOPT_HTTPPROXYTUNNEL
177 Tunnel through the HTTP proxy. \fICURLOPT_HTTPPROXYTUNNEL(3)\fP
178 .IP CURLOPT_CONNECT_TO
179 Connect to a specific host and port. See \fICURLOPT_CONNECT_TO(3)\fP
180 .IP CURLOPT_SOCKS5_AUTH
181 Socks5 authentication methods. See \fICURLOPT_SOCKS5_AUTH(3)\fP
182 .IP CURLOPT_SOCKS5_GSSAPI_SERVICE
183 Socks5 GSSAPI service name. \fICURLOPT_SOCKS5_GSSAPI_SERVICE(3)\fP
184 .IP CURLOPT_SOCKS5_GSSAPI_NEC
185 Socks5 GSSAPI NEC mode. See \fICURLOPT_SOCKS5_GSSAPI_NEC(3)\fP
186 .IP CURLOPT_PROXY_SERVICE_NAME
187 Proxy authentication service name. \fICURLOPT_PROXY_SERVICE_NAME(3)\fP
188 .IP CURLOPT_HAPROXYPROTOCOL
189 Send an HAProxy PROXY protocol v1 header. See \fICURLOPT_HAPROXYPROTOCOL(3)\fP
190 .IP CURLOPT_SERVICE_NAME
191 Authentication service name. \fICURLOPT_SERVICE_NAME(3)\fP
192 .IP CURLOPT_INTERFACE
193 Bind connection locally to this. See \fICURLOPT_INTERFACE(3)\fP
194 .IP CURLOPT_LOCALPORT
195 Bind connection locally to this port. See \fICURLOPT_LOCALPORT(3)\fP
196 .IP CURLOPT_LOCALPORTRANGE
197 Bind connection locally to port range. See \fICURLOPT_LOCALPORTRANGE(3)\fP
198 .IP CURLOPT_DNS_CACHE_TIMEOUT
199 Timeout for DNS cache. See \fICURLOPT_DNS_CACHE_TIMEOUT(3)\fP
200 .IP CURLOPT_DNS_USE_GLOBAL_CACHE
201 OBSOLETE Enable global DNS cache. See \fICURLOPT_DNS_USE_GLOBAL_CACHE(3)\fP
202 .IP CURLOPT_DOH_URL
203 Use this DOH server for name resolves. See \fICURLOPT_DOH_URL(3)\fP
204 .IP CURLOPT_BUFFERSIZE
205 Ask for alternate buffer size. See \fICURLOPT_BUFFERSIZE(3)\fP
206 .IP CURLOPT_PORT
207 Port number to connect to. See \fICURLOPT_PORT(3)\fP
208 .IP CURLOPT_TCP_FASTOPEN
209 Enable TFO, TCP Fast Open. See \fICURLOPT_TCP_FASTOPEN(3)\fP
210 .IP CURLOPT_TCP_NODELAY
211 Disable the Nagle algorithm. See \fICURLOPT_TCP_NODELAY(3)\fP
212 .IP CURLOPT_ADDRESS_SCOPE
213 IPv6 scope for local addresses. See \fICURLOPT_ADDRESS_SCOPE(3)\fP
214 .IP CURLOPT_TCP_KEEPALIVE
215 Enable TCP keep-alive. See \fICURLOPT_TCP_KEEPALIVE(3)\fP
216 .IP CURLOPT_TCP_KEEPIDLE
217 Idle time before sending keep-alive. See \fICURLOPT_TCP_KEEPIDLE(3)\fP
218 .IP CURLOPT_TCP_KEEPINTVL
219 Interval between keep-alive probes. See \fICURLOPT_TCP_KEEPINTVL(3)\fP
220 .IP CURLOPT_UNIX_SOCKET_PATH
221 Path to a Unix domain socket. See \fICURLOPT_UNIX_SOCKET_PATH(3)\fP
222 .IP CURLOPT_ABSTRACT_UNIX_SOCKET
223 Path to an abstract Unix domain socket. See \fICURLOPT_ABSTRACT_UNIX_SOCKET(3)\fP
224 .SH NAMES and PASSWORDS OPTIONS (Authentication)
225 .IP CURLOPT_NETRC
226 Enable .netrc parsing. See \fICURLOPT_NETRC(3)\fP
227 .IP CURLOPT_NETRC_FILE
228 \&.netrc file name. See \fICURLOPT_NETRC_FILE(3)\fP
229 .IP CURLOPT_USERPWD
230 User name and password. See \fICURLOPT_USERPWD(3)\fP
231 .IP CURLOPT_PROXYUSERPWD
232 Proxy user name and password. See \fICURLOPT_PROXYUSERPWD(3)\fP
233 .IP CURLOPT_USERNAME
234 User name. See \fICURLOPT_USERNAME(3)\fP
235 .IP CURLOPT_PASSWORD
236 Password. See \fICURLOPT_PASSWORD(3)\fP
237 .IP CURLOPT_LOGIN_OPTIONS
238 Login options. See \fICURLOPT_LOGIN_OPTIONS(3)\fP
239 .IP CURLOPT_PROXYUSERNAME
240 Proxy user name. See \fICURLOPT_PROXYUSERNAME(3)\fP
241 .IP CURLOPT_PROXYPASSWORD
242 Proxy password. See \fICURLOPT_PROXYPASSWORD(3)\fP
243 .IP CURLOPT_HTTPAUTH
244 HTTP server authentication methods. See \fICURLOPT_HTTPAUTH(3)\fP
245 .IP CURLOPT_TLSAUTH_USERNAME
246 TLS authentication user name. See \fICURLOPT_TLSAUTH_USERNAME(3)\fP
247 .IP CURLOPT_PROXY_TLSAUTH_USERNAME
248 Proxy TLS authentication user name. See \fICURLOPT_PROXY_TLSAUTH_USERNAME(3)\fP
249 .IP CURLOPT_TLSAUTH_PASSWORD
250 TLS authentication password. See \fICURLOPT_TLSAUTH_PASSWORD(3)\fP
251 .IP CURLOPT_PROXY_TLSAUTH_PASSWORD
252 Proxy TLS authentication password. See \fICURLOPT_PROXY_TLSAUTH_PASSWORD(3)\fP
253 .IP CURLOPT_TLSAUTH_TYPE
254 TLS authentication methods. See \fICURLOPT_TLSAUTH_TYPE(3)\fP
255 .IP CURLOPT_PROXY_TLSAUTH_TYPE
256 Proxy TLS authentication methods. See \fICURLOPT_PROXY_TLSAUTH_TYPE(3)\fP
257 .IP CURLOPT_PROXYAUTH
258 HTTP proxy authentication methods. See \fICURLOPT_PROXYAUTH(3)\fP
259 .IP CURLOPT_SASL_AUTHZID
260 SASL authorisation identity (identity to act as). See \fICURLOPT_SASL_AUTHZID(3)\fP
261 .IP CURLOPT_SASL_IR
262 Enable SASL initial response. See \fICURLOPT_SASL_IR(3)\fP
263 .IP CURLOPT_XOAUTH2_BEARER
264 OAuth2 bearer token. See \fICURLOPT_XOAUTH2_BEARER(3)\fP
265 .IP CURLOPT_DISALLOW_USERNAME_IN_URL
266 Don't allow username in URL. See \fICURLOPT_DISALLOW_USERNAME_IN_URL(3)\fP
267 .SH HTTP OPTIONS
268 .IP CURLOPT_AUTOREFERER
269 Automatically set Referer: header. See \fICURLOPT_AUTOREFERER(3)\fP
270 .IP CURLOPT_ACCEPT_ENCODING
271 Accept-Encoding and automatic decompressing data. See \fICURLOPT_ACCEPT_ENCODING(3)\fP
272 .IP CURLOPT_TRANSFER_ENCODING
273 Request Transfer-Encoding. See \fICURLOPT_TRANSFER_ENCODING(3)\fP
274 .IP CURLOPT_FOLLOWLOCATION
275 Follow HTTP redirects. See \fICURLOPT_FOLLOWLOCATION(3)\fP
276 .IP CURLOPT_UNRESTRICTED_AUTH
277 Do not restrict authentication to original host. \fICURLOPT_UNRESTRICTED_AUTH(3)\fP
278 .IP CURLOPT_MAXREDIRS
279 Maximum number of redirects to follow. See \fICURLOPT_MAXREDIRS(3)\fP
280 .IP CURLOPT_POSTREDIR
281 How to act on redirects after POST. See \fICURLOPT_POSTREDIR(3)\fP
282 .IP CURLOPT_PUT
283 Issue an HTTP PUT request. See \fICURLOPT_PUT(3)\fP
284 .IP CURLOPT_POST
285 Issue an HTTP POST request. See \fICURLOPT_POST(3)\fP
286 .IP CURLOPT_POSTFIELDS
287 Send a POST with this data. See \fICURLOPT_POSTFIELDS(3)\fP
288 .IP CURLOPT_POSTFIELDSIZE
289 The POST data is this big. See \fICURLOPT_POSTFIELDSIZE(3)\fP
290 .IP CURLOPT_POSTFIELDSIZE_LARGE
291 The POST data is this big. See \fICURLOPT_POSTFIELDSIZE_LARGE(3)\fP
292 .IP CURLOPT_COPYPOSTFIELDS
293 Send a POST with this data - and copy it. See \fICURLOPT_COPYPOSTFIELDS(3)\fP
294 .IP CURLOPT_HTTPPOST
295 Multipart formpost HTTP POST. See \fICURLOPT_HTTPPOST(3)\fP
296 .IP CURLOPT_REFERER
297 Referer: header. See \fICURLOPT_REFERER(3)\fP
298 .IP CURLOPT_USERAGENT
299 User-Agent: header. See \fICURLOPT_USERAGENT(3)\fP
300 .IP CURLOPT_HTTPHEADER
301 Custom HTTP headers. See \fICURLOPT_HTTPHEADER(3)\fP
302 .IP CURLOPT_HEADEROPT
303 Control custom headers. See \fICURLOPT_HEADEROPT(3)\fP
304 .IP CURLOPT_PROXYHEADER
305 Custom HTTP headers sent to proxy. See \fICURLOPT_PROXYHEADER(3)\fP
306 .IP CURLOPT_HTTP200ALIASES
307 Alternative versions of 200 OK. See \fICURLOPT_HTTP200ALIASES(3)\fP
308 .IP CURLOPT_COOKIE
309 Cookie(s) to send. See \fICURLOPT_COOKIE(3)\fP
310 .IP CURLOPT_COOKIEFILE
311 File to read cookies from. See \fICURLOPT_COOKIEFILE(3)\fP
312 .IP CURLOPT_COOKIEJAR
313 File to write cookies to. See \fICURLOPT_COOKIEJAR(3)\fP
314 .IP CURLOPT_COOKIESESSION
315 Start a new cookie session. See \fICURLOPT_COOKIESESSION(3)\fP
316 .IP CURLOPT_COOKIELIST
317 Add or control cookies. See \fICURLOPT_COOKIELIST(3)\fP
318 .IP CURLOPT_ALTSVC
319 Specify the Alt-Svc: cache file name. See \fICURLOPT_ALTSVC(3)\fP
320 .IP CURLOPT_ALTSVC_CTRL
321 Enable and configure Alt-Svc: treatment. See \fICURLOPT_ALTSVC_CTRL(3)\fP
322 .IP CURLOPT_HTTPGET
323 Do an HTTP GET request. See \fICURLOPT_HTTPGET(3)\fP
324 .IP CURLOPT_REQUEST_TARGET
325 Set the request target. \fICURLOPT_REQUEST_TARGET(3)\fP
326 .IP CURLOPT_HTTP_VERSION
327 HTTP version to use. \fICURLOPT_HTTP_VERSION(3)\fP
328 .IP CURLOPT_HTTP09_ALLOWED
329 Allow HTTP/0.9 responses. \fICURLOPT_HTTP09_ALLOWED(3)\fP
330 .IP CURLOPT_IGNORE_CONTENT_LENGTH
331 Ignore Content-Length. See \fICURLOPT_IGNORE_CONTENT_LENGTH(3)\fP
332 .IP CURLOPT_HTTP_CONTENT_DECODING
333 Disable Content decoding. See \fICURLOPT_HTTP_CONTENT_DECODING(3)\fP
334 .IP CURLOPT_HTTP_TRANSFER_DECODING
335 Disable Transfer decoding. See \fICURLOPT_HTTP_TRANSFER_DECODING(3)\fP
336 .IP CURLOPT_EXPECT_100_TIMEOUT_MS
337 100-continue timeout. See \fICURLOPT_EXPECT_100_TIMEOUT_MS(3)\fP
338 .IP CURLOPT_TRAILERFUNCTION
339 Set callback for sending trailing headers. See
340 \fICURLOPT_TRAILERFUNCTION(3)\fP
341 .IP CURLOPT_TRAILERDATA
342 Custom pointer passed to the trailing headers callback. See
343 \fICURLOPT_TRAILERDATA(3)\fP
344 .IP CURLOPT_PIPEWAIT
345 Wait on connection to pipeline on it. See \fICURLOPT_PIPEWAIT(3)\fP
346 .IP CURLOPT_STREAM_DEPENDS
347 This HTTP/2 stream depends on another. See \fICURLOPT_STREAM_DEPENDS(3)\fP
348 .IP CURLOPT_STREAM_DEPENDS_E
349 This HTTP/2 stream depends on another exclusively. See
350 \fICURLOPT_STREAM_DEPENDS_E(3)\fP
351 .IP CURLOPT_STREAM_WEIGHT
352 Set this HTTP/2 stream's weight. See \fICURLOPT_STREAM_WEIGHT(3)\fP
353 .SH SMTP OPTIONS
354 .IP CURLOPT_MAIL_FROM
355 Address of the sender. See \fICURLOPT_MAIL_FROM(3)\fP
356 .IP CURLOPT_MAIL_RCPT
357 Address of the recipients. See \fICURLOPT_MAIL_RCPT(3)\fP
358 .IP CURLOPT_MAIL_AUTH
359 Authentication address. See \fICURLOPT_MAIL_AUTH(3)\fP
360 .SH TFTP OPTIONS
361 .IP CURLOPT_TFTP_BLKSIZE
362 TFTP block size. See \fICURLOPT_TFTP_BLKSIZE(3)\fP
363 .IP CURLOPT_TFTP_NO_OPTIONS
364 Do not send TFTP options requests. See \fICURLOPT_TFTP_NO_OPTIONS(3)\fP
365 .SH FTP OPTIONS
366 .IP CURLOPT_FTPPORT
367 Use active FTP. See \fICURLOPT_FTPPORT(3)\fP
368 .IP CURLOPT_QUOTE
369 Commands to run before transfer. See \fICURLOPT_QUOTE(3)\fP
370 .IP CURLOPT_POSTQUOTE
371 Commands to run after transfer. See \fICURLOPT_POSTQUOTE(3)\fP
372 .IP CURLOPT_PREQUOTE
373 Commands to run just before transfer. See \fICURLOPT_PREQUOTE(3)\fP
374 .IP CURLOPT_APPEND
375 Append to remote file. See \fICURLOPT_APPEND(3)\fP
376 .IP CURLOPT_FTP_USE_EPRT
377 Use EPTR. See \fICURLOPT_FTP_USE_EPRT(3)\fP
378 .IP CURLOPT_FTP_USE_EPSV
379 Use EPSV. See \fICURLOPT_FTP_USE_EPSV(3)\fP
380 .IP CURLOPT_FTP_USE_PRET
381 Use PRET. See \fICURLOPT_FTP_USE_PRET(3)\fP
382 .IP CURLOPT_FTP_CREATE_MISSING_DIRS
383 Create missing directories on the remote server. See \fICURLOPT_FTP_CREATE_MISSING_DIRS(3)\fP
384 .IP CURLOPT_FTP_RESPONSE_TIMEOUT
385 Timeout for FTP responses. See \fICURLOPT_FTP_RESPONSE_TIMEOUT(3)\fP
386 .IP CURLOPT_FTP_ALTERNATIVE_TO_USER
387 Alternative to USER. See \fICURLOPT_FTP_ALTERNATIVE_TO_USER(3)\fP
388 .IP CURLOPT_FTP_SKIP_PASV_IP
389 Ignore the IP address in the PASV response. See \fICURLOPT_FTP_SKIP_PASV_IP(3)\fP
390 .IP CURLOPT_FTPSSLAUTH
391 Control how to do TLS. See \fICURLOPT_FTPSSLAUTH(3)\fP
392 .IP CURLOPT_FTP_SSL_CCC
393 Back to non-TLS again after authentication. See \fICURLOPT_FTP_SSL_CCC(3)\fP
394 .IP CURLOPT_FTP_ACCOUNT
395 Send ACCT command. See \fICURLOPT_FTP_ACCOUNT(3)\fP
396 .IP CURLOPT_FTP_FILEMETHOD
397 Specify how to reach files. See \fICURLOPT_FTP_FILEMETHOD(3)\fP
398 .SH RTSP OPTIONS
399 .IP CURLOPT_RTSP_REQUEST
400 RTSP request. See \fICURLOPT_RTSP_REQUEST(3)\fP
401 .IP CURLOPT_RTSP_SESSION_ID
402 RTSP session-id. See \fICURLOPT_RTSP_SESSION_ID(3)\fP
403 .IP CURLOPT_RTSP_STREAM_URI
404 RTSP stream URI. See \fICURLOPT_RTSP_STREAM_URI(3)\fP
405 .IP CURLOPT_RTSP_TRANSPORT
406 RTSP Transport: header. See \fICURLOPT_RTSP_TRANSPORT(3)\fP
407 .IP CURLOPT_RTSP_CLIENT_CSEQ
408 Client CSEQ number. See \fICURLOPT_RTSP_CLIENT_CSEQ(3)\fP
409 .IP CURLOPT_RTSP_SERVER_CSEQ
410 CSEQ number for RTSP Server->Client request. See \fICURLOPT_RTSP_SERVER_CSEQ(3)\fP
411 .SH PROTOCOL OPTIONS
412 .IP CURLOPT_TRANSFERTEXT
413 Use text transfer. See \fICURLOPT_TRANSFERTEXT(3)\fP
414 .IP CURLOPT_PROXY_TRANSFER_MODE
415 Add transfer mode to URL over proxy. See \fICURLOPT_PROXY_TRANSFER_MODE(3)\fP
416 .IP CURLOPT_CRLF
417 Convert newlines. See \fICURLOPT_CRLF(3)\fP
418 .IP CURLOPT_RANGE
419 Range requests. See \fICURLOPT_RANGE(3)\fP
420 .IP CURLOPT_RESUME_FROM
421 Resume a transfer. See \fICURLOPT_RESUME_FROM(3)\fP
422 .IP CURLOPT_RESUME_FROM_LARGE
423 Resume a transfer. See \fICURLOPT_RESUME_FROM_LARGE(3)\fP
424 .IP CURLOPT_CURLU
425 Set URL to work on with CURLU *. See \fICURLOPT_CURLU(3)\fP
426 .IP CURLOPT_CUSTOMREQUEST
427 Custom request/method. See \fICURLOPT_CUSTOMREQUEST(3)\fP
428 .IP CURLOPT_FILETIME
429 Request file modification date and time. See \fICURLOPT_FILETIME(3)\fP
430 .IP CURLOPT_DIRLISTONLY
431 List only. See \fICURLOPT_DIRLISTONLY(3)\fP
432 .IP CURLOPT_NOBODY
433 Do not get the body contents. See \fICURLOPT_NOBODY(3)\fP
434 .IP CURLOPT_INFILESIZE
435 Size of file to send. \fICURLOPT_INFILESIZE(3)\fP
436 .IP CURLOPT_INFILESIZE_LARGE
437 Size of file to send. \fICURLOPT_INFILESIZE_LARGE(3)\fP
438 .IP CURLOPT_UPLOAD
439 Upload data. See \fICURLOPT_UPLOAD(3)\fP
440 .IP CURLOPT_UPLOAD_BUFFERSIZE
441 Set upload buffer size. See \fICURLOPT_UPLOAD_BUFFERSIZE(3)\fP
442 .IP CURLOPT_MIMEPOST
443 Post/send MIME data. See \fICURLOPT_MIMEPOST(3)\fP
444 .IP CURLOPT_MAXFILESIZE
445 Maximum file size to get. See \fICURLOPT_MAXFILESIZE(3)\fP
446 .IP CURLOPT_MAXFILESIZE_LARGE
447 Maximum file size to get. See \fICURLOPT_MAXFILESIZE_LARGE(3)\fP
448 .IP CURLOPT_TIMECONDITION
449 Make a time conditional request. See \fICURLOPT_TIMECONDITION(3)\fP
450 .IP CURLOPT_TIMEVALUE
451 Time value for the time conditional request. See \fICURLOPT_TIMEVALUE(3)\fP
452 .IP CURLOPT_TIMEVALUE_LARGE
453 Time value for the time conditional request. See \fICURLOPT_TIMEVALUE_LARGE(3)\fP
454 .SH CONNECTION OPTIONS
455 .IP CURLOPT_TIMEOUT
456 Timeout for the entire request. See \fICURLOPT_TIMEOUT(3)\fP
457 .IP CURLOPT_TIMEOUT_MS
458 Millisecond timeout for the entire request. See \fICURLOPT_TIMEOUT_MS(3)\fP
459 .IP CURLOPT_LOW_SPEED_LIMIT
460 Low speed limit to abort transfer. See \fICURLOPT_LOW_SPEED_LIMIT(3)\fP
461 .IP CURLOPT_LOW_SPEED_TIME
462 Time to be below the speed to trigger low speed abort. See \fICURLOPT_LOW_SPEED_TIME(3)\fP
463 .IP CURLOPT_MAX_SEND_SPEED_LARGE
464 Cap the upload speed to this. See \fICURLOPT_MAX_SEND_SPEED_LARGE(3)\fP
465 .IP CURLOPT_MAX_RECV_SPEED_LARGE
466 Cap the download speed to this. See \fICURLOPT_MAX_RECV_SPEED_LARGE(3)\fP
467 .IP CURLOPT_MAXCONNECTS
468 Maximum number of connections in the connection pool. See \fICURLOPT_MAXCONNECTS(3)\fP
469 .IP CURLOPT_FRESH_CONNECT
470 Use a new connection. \fICURLOPT_FRESH_CONNECT(3)\fP
471 .IP CURLOPT_FORBID_REUSE
472 Prevent subsequent connections from re-using this. See \fICURLOPT_FORBID_REUSE(3)\fP
473 .IP CURLOPT_MAXAGE_CONN
474 Limit the age of connections for reuse. See \fICURLOPT_MAXAGE_CONN(3)\fP
475 .IP CURLOPT_CONNECTTIMEOUT
476 Timeout for the connection phase. See \fICURLOPT_CONNECTTIMEOUT(3)\fP
477 .IP CURLOPT_CONNECTTIMEOUT_MS
478 Millisecond timeout for the connection phase. See \fICURLOPT_CONNECTTIMEOUT_MS(3)\fP
479 .IP CURLOPT_IPRESOLVE
480 IP version to resolve to. See \fICURLOPT_IPRESOLVE(3)\fP
481 .IP CURLOPT_CONNECT_ONLY
482 Only connect, nothing else. See \fICURLOPT_CONNECT_ONLY(3)\fP
483 .IP CURLOPT_USE_SSL
484 Use TLS/SSL. See \fICURLOPT_USE_SSL(3)\fP
485 .IP CURLOPT_RESOLVE
486 Provide fixed/fake name resolves. See \fICURLOPT_RESOLVE(3)\fP
487 .IP CURLOPT_DNS_INTERFACE
488 Bind name resolves to this interface. See \fICURLOPT_DNS_INTERFACE(3)\fP
489 .IP CURLOPT_DNS_LOCAL_IP4
490 Bind name resolves to this IP4 address. See \fICURLOPT_DNS_LOCAL_IP4(3)\fP
491 .IP CURLOPT_DNS_LOCAL_IP6
492 Bind name resolves to this IP6 address. See \fICURLOPT_DNS_LOCAL_IP6(3)\fP
493 .IP CURLOPT_DNS_SERVERS
494 Preferred DNS servers. See \fICURLOPT_DNS_SERVERS(3)\fP
495 .IP CURLOPT_DNS_SHUFFLE_ADDRESSES
496 Shuffle addresses before use. See \fICURLOPT_DNS_SHUFFLE_ADDRESSES(3)\fP
497 .IP CURLOPT_ACCEPTTIMEOUT_MS
498 Timeout for waiting for the server's connect back to be accepted. See \fICURLOPT_ACCEPTTIMEOUT_MS(3)\fP
499 .IP CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS
500 Timeout for happy eyeballs. See \fICURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS(3)\fP
501 .IP CURLOPT_UPKEEP_INTERVAL_MS
502 Sets the interval at which connection upkeep are performed. See
503 \fICURLOPT_UPKEEP_INTERVAL_MS(3)\fP
504 .SH SSL and SECURITY OPTIONS
505 .IP CURLOPT_SSLCERT
506 Client cert. See \fICURLOPT_SSLCERT(3)\fP
507 .IP CURLOPT_PROXY_SSLCERT
508 Proxy client cert. See \fICURLOPT_PROXY_SSLCERT(3)\fP
509 .IP CURLOPT_SSLCERTTYPE
510 Client cert type. See \fICURLOPT_SSLCERTTYPE(3)\fP
511 .IP CURLOPT_PROXY_SSLCERTTYPE
512 Proxy client cert type. See \fICURLOPT_PROXY_SSLCERTTYPE(3)\fP
513 .IP CURLOPT_SSLKEY
514 Client key. See \fICURLOPT_SSLKEY(3)\fP
515 .IP CURLOPT_PROXY_SSLKEY
516 Proxy client key. See \fICURLOPT_PROXY_SSLKEY(3)\fP
517 .IP CURLOPT_SSLKEYTYPE
518 Client key type. See \fICURLOPT_SSLKEYTYPE(3)\fP
519 .IP CURLOPT_PROXY_SSLKEYTYPE
520 Proxy client key type. See \fICURLOPT_PROXY_SSLKEYTYPE(3)\fP
521 .IP CURLOPT_KEYPASSWD
522 Client key password. See \fICURLOPT_KEYPASSWD(3)\fP
523 .IP CURLOPT_PROXY_KEYPASSWD
524 Proxy client key password. See \fICURLOPT_PROXY_KEYPASSWD(3)\fP
525 .IP CURLOPT_SSL_ENABLE_ALPN
526 Enable use of ALPN. See \fICURLOPT_SSL_ENABLE_ALPN(3)\fP
527 .IP CURLOPT_SSL_ENABLE_NPN
528 Enable use of NPN. See \fICURLOPT_SSL_ENABLE_NPN(3)\fP
529 .IP CURLOPT_SSLENGINE
530 Use identifier with SSL engine. See \fICURLOPT_SSLENGINE(3)\fP
531 .IP CURLOPT_SSLENGINE_DEFAULT
532 Default SSL engine. See \fICURLOPT_SSLENGINE_DEFAULT(3)\fP
533 .IP CURLOPT_SSL_FALSESTART
534 Enable TLS False Start. See \fICURLOPT_SSL_FALSESTART(3)\fP
535 .IP CURLOPT_SSLVERSION
536 SSL version to use. See \fICURLOPT_SSLVERSION(3)\fP
537 .IP CURLOPT_PROXY_SSLVERSION
538 Proxy SSL version to use. See \fICURLOPT_PROXY_SSLVERSION(3)\fP
539 .IP CURLOPT_SSL_VERIFYHOST
540 Verify the host name in the SSL certificate. See \fICURLOPT_SSL_VERIFYHOST(3)\fP
541 .IP CURLOPT_PROXY_SSL_VERIFYHOST
542 Verify the host name in the proxy SSL certificate. See \fICURLOPT_PROXY_SSL_VERIFYHOST(3)\fP
543 .IP CURLOPT_SSL_VERIFYPEER
544 Verify the SSL certificate. See \fICURLOPT_SSL_VERIFYPEER(3)\fP
545 .IP CURLOPT_PROXY_SSL_VERIFYPEER
546 Verify the proxy SSL certificate. See \fICURLOPT_PROXY_SSL_VERIFYPEER(3)\fP
547 .IP CURLOPT_SSL_VERIFYSTATUS
548 Verify the SSL certificate's status. See \fICURLOPT_SSL_VERIFYSTATUS(3)\fP
549 .IP CURLOPT_CAINFO
550 CA cert bundle. See \fICURLOPT_CAINFO(3)\fP
551 .IP CURLOPT_PROXY_CAINFO
552 Proxy CA cert bundle. See \fICURLOPT_PROXY_CAINFO(3)\fP
553 .IP CURLOPT_ISSUERCERT
554 Issuer certificate. See \fICURLOPT_ISSUERCERT(3)\fP
555 .IP CURLOPT_CAPATH
556 Path to CA cert bundle. See \fICURLOPT_CAPATH(3)\fP
557 .IP CURLOPT_PROXY_CAPATH
558 Path to proxy CA cert bundle. See \fICURLOPT_PROXY_CAPATH(3)\fP
559 .IP CURLOPT_CRLFILE
560 Certificate Revocation List. See \fICURLOPT_CRLFILE(3)\fP
561 .IP CURLOPT_PROXY_CRLFILE
562 Proxy Certificate Revocation List. See \fICURLOPT_PROXY_CRLFILE(3)\fP
563 .IP CURLOPT_CERTINFO
564 Extract certificate info. See \fICURLOPT_CERTINFO(3)\fP
565 .IP CURLOPT_PINNEDPUBLICKEY
566 Set pinned SSL public key . See \fICURLOPT_PINNEDPUBLICKEY(3)\fP
567 .IP CURLOPT_PROXY_PINNEDPUBLICKEY
568 Set the proxy's pinned SSL public key. See
569 \fICURLOPT_PROXY_PINNEDPUBLICKEY(3)\fP
570 .IP CURLOPT_RANDOM_FILE
571 Provide source for entropy random data. See \fICURLOPT_RANDOM_FILE(3)\fP
572 .IP CURLOPT_EGDSOCKET
573 Identify EGD socket for entropy. See \fICURLOPT_EGDSOCKET(3)\fP
574 .IP CURLOPT_SSL_CIPHER_LIST
575 Ciphers to use. See \fICURLOPT_SSL_CIPHER_LIST(3)\fP
576 .IP CURLOPT_PROXY_SSL_CIPHER_LIST
577 Proxy ciphers to use. See \fICURLOPT_PROXY_SSL_CIPHER_LIST(3)\fP
578 .IP CURLOPT_TLS13_CIPHERS
579 TLS 1.3 cipher suites to use. See \fICURLOPT_TLS13_CIPHERS(3)\fP
580 .IP CURLOPT_PROXY_TLS13_CIPHERS
581 Proxy TLS 1.3 cipher suites to use. See \fICURLOPT_PROXY_TLS13_CIPHERS(3)\fP
582 .IP CURLOPT_SSL_SESSIONID_CACHE
583 Disable SSL session-id cache. See \fICURLOPT_SSL_SESSIONID_CACHE(3)\fP
584 .IP CURLOPT_SSL_OPTIONS
585 Control SSL behavior. See \fICURLOPT_SSL_OPTIONS(3)\fP
586 .IP CURLOPT_PROXY_SSL_OPTIONS
587 Control proxy SSL behavior. See \fICURLOPT_PROXY_SSL_OPTIONS(3)\fP
588 .IP CURLOPT_KRBLEVEL
589 Kerberos security level. See \fICURLOPT_KRBLEVEL(3)\fP
590 .IP CURLOPT_GSSAPI_DELEGATION
591 Disable GSS-API delegation. See \fICURLOPT_GSSAPI_DELEGATION(3)\fP
592 .SH SSH OPTIONS
593 .IP CURLOPT_SSH_AUTH_TYPES
594 SSH authentication types. See \fICURLOPT_SSH_AUTH_TYPES(3)\fP
595 .IP CURLOPT_SSH_COMPRESSION
596 Enable SSH compression. See \fICURLOPT_SSH_COMPRESSION(3)\fP
597 .IP CURLOPT_SSH_HOST_PUBLIC_KEY_MD5
598 MD5 of host's public key. See \fICURLOPT_SSH_HOST_PUBLIC_KEY_MD5(3)\fP
599 .IP CURLOPT_SSH_PUBLIC_KEYFILE
600 File name of public key. See \fICURLOPT_SSH_PUBLIC_KEYFILE(3)\fP
601 .IP CURLOPT_SSH_PRIVATE_KEYFILE
602 File name of private key. See \fICURLOPT_SSH_PRIVATE_KEYFILE(3)\fP
603 .IP CURLOPT_SSH_KNOWNHOSTS
604 File name with known hosts. See \fICURLOPT_SSH_KNOWNHOSTS(3)\fP
605 .IP CURLOPT_SSH_KEYFUNCTION
606 Callback for known hosts handling. See \fICURLOPT_SSH_KEYFUNCTION(3)\fP
607 .IP CURLOPT_SSH_KEYDATA
608 Custom pointer to pass to ssh key callback. See \fICURLOPT_SSH_KEYDATA(3)\fP
609 .SH OTHER OPTIONS
610 .IP CURLOPT_PRIVATE
611 Private pointer to store. See \fICURLOPT_PRIVATE(3)\fP
612 .IP CURLOPT_SHARE
613 Share object to use. See \fICURLOPT_SHARE(3)\fP
614 .IP CURLOPT_NEW_FILE_PERMS
615 Mode for creating new remote files. See \fICURLOPT_NEW_FILE_PERMS(3)\fP
616 .IP CURLOPT_NEW_DIRECTORY_PERMS
617 Mode for creating new remote directories. See \fICURLOPT_NEW_DIRECTORY_PERMS(3)\fP
618 .SH TELNET OPTIONS
619 .IP CURLOPT_TELNETOPTIONS
620 TELNET options. See \fICURLOPT_TELNETOPTIONS(3)\fP
621 .SH RETURN VALUE
622 \fICURLE_OK\fP (zero) means that the option was set properly, non-zero means an
623 error occurred as \fI<curl/curl.h>\fP defines. See the \fIlibcurl-errors(3)\fP
624 man page for the full list with descriptions.
625
626 If you try to set an option that libcurl doesn't know about, perhaps because
627 the library is too old to support it or the option was removed in a recent
628 version, this function will return \fICURLE_UNKNOWN_OPTION\fP. If support for
629 the option was disabled at compile-time, it will return
630 \fICURLE_NOT_BUILT_IN\fP.
631 .SH EXAMPLE
632 .nf
633 CURL *curl = curl_easy_init();
634 if(curl) {
635 CURLcode res;
636 curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
637 res = curl_easy_perform(curl);
638 curl_easy_cleanup(curl);
639 }
640 .fi
641 .SH "SEE ALSO"
642 .BR curl_easy_init "(3), " curl_easy_cleanup "(3), " curl_easy_reset "(3), "
643 .BR curl_easy_getinfo "(3), " curl_multi_setopt "(3), "