1curl_easy_setopt(3) libcurl curl_easy_setopt(3)
2
3
4
6 curl_easy_setopt - set options for a curl easy handle
7
9 #include <curl/curl.h>
10
11 CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter);
12
14 curl_easy_setopt(3) is used to tell libcurl how to behave. By setting
15 the appropriate options, the application can change libcurl's behavior.
16 All options are set with an option followed by a parameter. That param‐
17 eter can be a long, a function pointer, an object pointer or a
18 curl_off_t, depending on what the specific option expects. Read this
19 manual carefully as bad input values may cause libcurl to behave badly!
20 You can only set one option in each function call. A typical applica‐
21 tion uses many curl_easy_setopt(3) calls in the setup phase.
22
23 Options set with this function call are valid for all forthcoming
24 transfers performed using this handle. The options are not in any way
25 reset between transfers, so if you want subsequent transfers with dif‐
26 ferent options, you must change them between the transfers. You can op‐
27 tionally reset all options back to internal default with curl_easy_re‐
28 set(3).
29
30 Strings passed to libcurl as 'char *' arguments, are copied by the li‐
31 brary; the string storage associated to the pointer argument may be
32 discarded or reused after curl_easy_setopt(3) returns. The only excep‐
33 tion to this rule is really CURLOPT_POSTFIELDS(3), but the alternative
34 that copies the string CURLOPT_COPYPOSTFIELDS(3) has some usage charac‐
35 teristics you need to read up on. This function does not accept input
36 strings longer than CURL_MAX_INPUT_LENGTH (8 MB).
37
38 The order in which the options are set does not matter.
39
40 Before version 7.17.0, strings were not copied. Instead the user was
41 forced keep them available until libcurl no longer needed them.
42
43 The handle is the return code from a curl_easy_init(3) or
44 curl_easy_duphandle(3) call.
45
47 CURLOPT_VERBOSE
48 Display verbose information. See CURLOPT_VERBOSE(3)
49
50 CURLOPT_HEADER
51 Include the header in the body output. See CURLOPT_HEADER(3)
52
53 CURLOPT_NOPROGRESS
54 Shut off the progress meter. See CURLOPT_NOPROGRESS(3)
55
56 CURLOPT_NOSIGNAL
57 Do not install signal handlers. See CURLOPT_NOSIGNAL(3)
58
59 CURLOPT_WILDCARDMATCH
60 Transfer multiple files according to a file name pattern. See
61 CURLOPT_WILDCARDMATCH(3)
62
64 CURLOPT_WRITEFUNCTION
65 Callback for writing data. See CURLOPT_WRITEFUNCTION(3)
66
67 CURLOPT_WRITEDATA
68 Data pointer to pass to the write callback. See CURLOPT_WRITE‐
69 DATA(3)
70
71 CURLOPT_READFUNCTION
72 Callback for reading data. See CURLOPT_READFUNCTION(3)
73
74 CURLOPT_READDATA
75 Data pointer to pass to the read callback. See CURLOPT_READ‐
76 DATA(3)
77
78 CURLOPT_IOCTLFUNCTION
79 Deprecated option Callback for I/O operations. See CUR‐
80 LOPT_IOCTLFUNCTION(3)
81
82 CURLOPT_IOCTLDATA
83 Deprecated option Data pointer to pass to the I/O callback. See
84 CURLOPT_IOCTLDATA(3)
85
86 CURLOPT_SEEKFUNCTION
87 Callback for seek operations. See CURLOPT_SEEKFUNCTION(3)
88
89 CURLOPT_SEEKDATA
90 Data pointer to pass to the seek callback. See CURLOPT_SEEK‐
91 DATA(3)
92
93 CURLOPT_SOCKOPTFUNCTION
94 Callback for sockopt operations. See CURLOPT_SOCKOPTFUNCTION(3)
95
96 CURLOPT_SOCKOPTDATA
97 Data pointer to pass to the sockopt callback. See CURLOPT_SOCK‐
98 OPTDATA(3)
99
100 CURLOPT_OPENSOCKETFUNCTION
101 Callback for socket creation. See CURLOPT_OPENSOCKETFUNCTION(3)
102
103 CURLOPT_OPENSOCKETDATA
104 Data pointer to pass to the open socket callback. See CUR‐
105 LOPT_OPENSOCKETDATA(3)
106
107 CURLOPT_CLOSESOCKETFUNCTION
108 Callback for closing socket. See CURLOPT_CLOSESOCKETFUNCTION(3)
109
110 CURLOPT_CLOSESOCKETDATA
111 Data pointer to pass to the close socket callback. See CUR‐
112 LOPT_CLOSESOCKETDATA(3)
113
114 CURLOPT_PROGRESSFUNCTION
115 OBSOLETE callback for progress meter. See CURLOPT_PROGRESSFUNC‐
116 TION(3)
117
118 CURLOPT_PROGRESSDATA
119 Data pointer to pass to the progress meter callback. See CUR‐
120 LOPT_PROGRESSDATA(3)
121
122 CURLOPT_XFERINFOFUNCTION
123 Callback for progress meter. See CURLOPT_XFERINFOFUNCTION(3)
124
125 CURLOPT_XFERINFODATA
126 Data pointer to pass to the progress meter callback. See CUR‐
127 LOPT_XFERINFODATA(3)
128
129 CURLOPT_HEADERFUNCTION
130 Callback for writing received headers. See CURLOPT_HEADERFUNC‐
131 TION(3)
132
133 CURLOPT_HEADERDATA
134 Data pointer to pass to the header callback. See CURLOPT_HEADER‐
135 DATA(3)
136
137 CURLOPT_DEBUGFUNCTION
138 Callback for debug information. See CURLOPT_DEBUGFUNCTION(3)
139
140 CURLOPT_DEBUGDATA
141 Data pointer to pass to the debug callback. See CURLOPT_DEBUG‐
142 DATA(3)
143
144 CURLOPT_SSL_CTX_FUNCTION
145 Callback for SSL context logic. See CURLOPT_SSL_CTX_FUNCTION(3)
146
147 CURLOPT_SSL_CTX_DATA
148 Data pointer to pass to the SSL context callback. See CUR‐
149 LOPT_SSL_CTX_DATA(3)
150
151 CURLOPT_CONV_TO_NETWORK_FUNCTION
152 OBSOLETE Callback for code base conversion. See CUR‐
153 LOPT_CONV_TO_NETWORK_FUNCTION(3)
154
155 CURLOPT_CONV_FROM_NETWORK_FUNCTION
156 OBSOLETE Callback for code base conversion. See CUR‐
157 LOPT_CONV_FROM_NETWORK_FUNCTION(3)
158
159 CURLOPT_CONV_FROM_UTF8_FUNCTION
160 OBSOLETE Callback for code base conversion. See CUR‐
161 LOPT_CONV_FROM_UTF8_FUNCTION(3)
162
163 CURLOPT_INTERLEAVEFUNCTION
164 Callback for RTSP interleaved data. See CURLOPT_INTERLEAVEFUNC‐
165 TION(3)
166
167 CURLOPT_INTERLEAVEDATA
168 Data pointer to pass to the RTSP interleave callback. See CUR‐
169 LOPT_INTERLEAVEDATA(3)
170
171 CURLOPT_CHUNK_BGN_FUNCTION
172 Callback for wildcard download start of chunk. See CUR‐
173 LOPT_CHUNK_BGN_FUNCTION(3)
174
175 CURLOPT_CHUNK_END_FUNCTION
176 Callback for wildcard download end of chunk. See CUR‐
177 LOPT_CHUNK_END_FUNCTION(3)
178
179 CURLOPT_CHUNK_DATA
180 Data pointer to pass to the chunk callbacks. See CUR‐
181 LOPT_CHUNK_DATA(3)
182
183 CURLOPT_FNMATCH_FUNCTION
184 Callback for wildcard matching. See CURLOPT_FNMATCH_FUNCTION(3)
185
186 CURLOPT_FNMATCH_DATA
187 Data pointer to pass to the wildcard matching callback. See CUR‐
188 LOPT_FNMATCH_DATA(3)
189
190 CURLOPT_SUPPRESS_CONNECT_HEADERS
191 Suppress proxy CONNECT response headers from user callbacks. See
192 CURLOPT_SUPPRESS_CONNECT_HEADERS(3)
193
194 CURLOPT_RESOLVER_START_FUNCTION
195 Callback to be called before a new resolve request is started.
196 See CURLOPT_RESOLVER_START_FUNCTION(3)
197
198 CURLOPT_RESOLVER_START_DATA
199 Data pointer to pass to resolver start callback. See CURLOPT_RE‐
200 SOLVER_START_DATA(3)
201
202 CURLOPT_PREREQFUNCTION
203 Callback to be called after a connection is established but be‐
204 fore a request is made on that connection. See CURLOPT_PREREQ‐
205 FUNCTION(3)
206
207 CURLOPT_PREREQDATA
208 Data pointer to pass to the CURLOPT_PREREQFUNCTION callback. See
209 CURLOPT_PREREQDATA(3)
210
212 CURLOPT_ERRORBUFFER
213 Error message buffer. See CURLOPT_ERRORBUFFER(3)
214
215 CURLOPT_STDERR
216 stderr replacement stream. See CURLOPT_STDERR(3)
217
218 CURLOPT_FAILONERROR
219 Fail on HTTP 4xx errors. CURLOPT_FAILONERROR(3)
220
221 CURLOPT_KEEP_SENDING_ON_ERROR
222 Keep sending on HTTP >= 300 errors. CURLOPT_KEEP_SENDING_ON_ER‐
223 ROR(3)
224
226 CURLOPT_URL
227 URL to work on. See CURLOPT_URL(3)
228
229 CURLOPT_PATH_AS_IS
230 Disable squashing /../ and /./ sequences in the path. See CUR‐
231 LOPT_PATH_AS_IS(3)
232
233 CURLOPT_PROTOCOLS
234 Deprecated option Allowed protocols. See CURLOPT_PROTOCOLS(3)
235
236 CURLOPT_PROTOCOLS_STR
237 Allowed protocols. See CURLOPT_PROTOCOLS_STR(3)
238
239 CURLOPT_REDIR_PROTOCOLS
240 Deprecated option Protocols to allow redirects to. See CUR‐
241 LOPT_REDIR_PROTOCOLS(3)
242
243 CURLOPT_REDIR_PROTOCOLS_STR
244 Protocols to allow redirects to. See CURLOPT_REDIR_PROTO‐
245 COLS_STR(3)
246
247 CURLOPT_DEFAULT_PROTOCOL
248 Default protocol. See CURLOPT_DEFAULT_PROTOCOL(3)
249
250 CURLOPT_PROXY
251 Proxy to use. See CURLOPT_PROXY(3)
252
253 CURLOPT_PRE_PROXY
254 Socks proxy to use. See CURLOPT_PRE_PROXY(3)
255
256 CURLOPT_PROXYPORT
257 Proxy port to use. See CURLOPT_PROXYPORT(3)
258
259 CURLOPT_PROXYTYPE
260 Proxy type. See CURLOPT_PROXYTYPE(3)
261
262 CURLOPT_NOPROXY
263 Filter out hosts from proxy use. CURLOPT_NOPROXY(3)
264
265 CURLOPT_HTTPPROXYTUNNEL
266 Tunnel through the HTTP proxy. CURLOPT_HTTPPROXYTUNNEL(3)
267
268 CURLOPT_CONNECT_TO
269 Connect to a specific host and port. See CURLOPT_CONNECT_TO(3)
270
271 CURLOPT_SOCKS5_AUTH
272 Socks5 authentication methods. See CURLOPT_SOCKS5_AUTH(3)
273
274 CURLOPT_SOCKS5_GSSAPI_SERVICE
275 Deprecated option Socks5 GSSAPI service name. See CUR‐
276 LOPT_SOCKS5_GSSAPI_SERVICE(3)
277
278 CURLOPT_SOCKS5_GSSAPI_NEC
279 Socks5 GSSAPI NEC mode. See CURLOPT_SOCKS5_GSSAPI_NEC(3)
280
281 CURLOPT_PROXY_SERVICE_NAME
282 Proxy authentication service name. CURLOPT_PROXY_SERVICE_NAME(3)
283
284 CURLOPT_HAPROXYPROTOCOL
285 Send an HAProxy PROXY protocol v1 header. See CURLOPT_HAPROX‐
286 YPROTOCOL(3)
287
288 CURLOPT_HAPROXY_CLIENT_IP
289 Spoof the client IP in an HAProxy PROXY protocol v1 header. See
290 CURLOPT_HAPROXY_CLIENT_IP(3)
291
292 CURLOPT_SERVICE_NAME
293 Authentication service name. CURLOPT_SERVICE_NAME(3)
294
295 CURLOPT_INTERFACE
296 Bind connection locally to this. See CURLOPT_INTERFACE(3)
297
298 CURLOPT_LOCALPORT
299 Bind connection locally to this port. See CURLOPT_LOCALPORT(3)
300
301 CURLOPT_LOCALPORTRANGE
302 Bind connection locally to port range. See CURLOPT_LOCALPOR‐
303 TRANGE(3)
304
305 CURLOPT_DNS_CACHE_TIMEOUT
306 Timeout for DNS cache. See CURLOPT_DNS_CACHE_TIMEOUT(3)
307
308 CURLOPT_DNS_USE_GLOBAL_CACHE
309 OBSOLETE Enable global DNS cache. See CUR‐
310 LOPT_DNS_USE_GLOBAL_CACHE(3)
311
312 CURLOPT_DOH_URL
313 Use this DoH server for name resolves. See CURLOPT_DOH_URL(3)
314
315 CURLOPT_BUFFERSIZE
316 Ask for alternate buffer size. See CURLOPT_BUFFERSIZE(3)
317
318 CURLOPT_PORT
319 Port number to connect to. See CURLOPT_PORT(3)
320
321 CURLOPT_TCP_FASTOPEN
322 Enable TCP Fast Open. See CURLOPT_TCP_FASTOPEN(3)
323
324 CURLOPT_TCP_NODELAY
325 Disable the Nagle algorithm. See CURLOPT_TCP_NODELAY(3)
326
327 CURLOPT_ADDRESS_SCOPE
328 IPv6 scope for local addresses. See CURLOPT_ADDRESS_SCOPE(3)
329
330 CURLOPT_TCP_KEEPALIVE
331 Enable TCP keep-alive. See CURLOPT_TCP_KEEPALIVE(3)
332
333 CURLOPT_TCP_KEEPIDLE
334 Idle time before sending keep-alive. See CURLOPT_TCP_KEEPIDLE(3)
335
336 CURLOPT_TCP_KEEPINTVL
337 Interval between keep-alive probes. See CURLOPT_TCP_KEEPINTVL(3)
338
339 CURLOPT_UNIX_SOCKET_PATH
340 Path to a Unix domain socket. See CURLOPT_UNIX_SOCKET_PATH(3)
341
342 CURLOPT_ABSTRACT_UNIX_SOCKET
343 Path to an abstract Unix domain socket. See CURLOPT_AB‐
344 STRACT_UNIX_SOCKET(3)
345
347 CURLOPT_NETRC
348 Enable .netrc parsing. See CURLOPT_NETRC(3)
349
350 CURLOPT_NETRC_FILE
351 .netrc file name. See CURLOPT_NETRC_FILE(3)
352
353 CURLOPT_USERPWD
354 User name and password. See CURLOPT_USERPWD(3)
355
356 CURLOPT_PROXYUSERPWD
357 Proxy user name and password. See CURLOPT_PROXYUSERPWD(3)
358
359 CURLOPT_USERNAME
360 User name. See CURLOPT_USERNAME(3)
361
362 CURLOPT_PASSWORD
363 Password. See CURLOPT_PASSWORD(3)
364
365 CURLOPT_LOGIN_OPTIONS
366 Login options. See CURLOPT_LOGIN_OPTIONS(3)
367
368 CURLOPT_PROXYUSERNAME
369 Proxy user name. See CURLOPT_PROXYUSERNAME(3)
370
371 CURLOPT_PROXYPASSWORD
372 Proxy password. See CURLOPT_PROXYPASSWORD(3)
373
374 CURLOPT_HTTPAUTH
375 HTTP server authentication methods. See CURLOPT_HTTPAUTH(3)
376
377 CURLOPT_TLSAUTH_USERNAME
378 TLS authentication user name. See CURLOPT_TLSAUTH_USERNAME(3)
379
380 CURLOPT_PROXY_TLSAUTH_USERNAME
381 Proxy TLS authentication user name. See CURLOPT_PROXY_TL‐
382 SAUTH_USERNAME(3)
383
384 CURLOPT_TLSAUTH_PASSWORD
385 TLS authentication password. See CURLOPT_TLSAUTH_PASSWORD(3)
386
387 CURLOPT_PROXY_TLSAUTH_PASSWORD
388 Proxy TLS authentication password. See CURLOPT_PROXY_TL‐
389 SAUTH_PASSWORD(3)
390
391 CURLOPT_TLSAUTH_TYPE
392 TLS authentication methods. See CURLOPT_TLSAUTH_TYPE(3)
393
394 CURLOPT_PROXY_TLSAUTH_TYPE
395 Proxy TLS authentication methods. See CURLOPT_PROXY_TL‐
396 SAUTH_TYPE(3)
397
398 CURLOPT_PROXYAUTH
399 HTTP proxy authentication methods. See CURLOPT_PROXYAUTH(3)
400
401 CURLOPT_SASL_AUTHZID
402 SASL authorization identity (identity to act as). See CUR‐
403 LOPT_SASL_AUTHZID(3)
404
405 CURLOPT_SASL_IR
406 Enable SASL initial response. See CURLOPT_SASL_IR(3)
407
408 CURLOPT_XOAUTH2_BEARER
409 OAuth2 bearer token. See CURLOPT_XOAUTH2_BEARER(3)
410
411 CURLOPT_DISALLOW_USERNAME_IN_URL
412 Do not allow username in URL. See CURLOPT_DISALLOW_USER‐
413 NAME_IN_URL(3)
414
416 CURLOPT_AUTOREFERER
417 Automatically set Referer: header. See CURLOPT_AUTOREFERER(3)
418
419 CURLOPT_ACCEPT_ENCODING
420 Accept-Encoding and automatic decompressing data. See CUR‐
421 LOPT_ACCEPT_ENCODING(3)
422
423 CURLOPT_TRANSFER_ENCODING
424 Request Transfer-Encoding. See CURLOPT_TRANSFER_ENCODING(3)
425
426 CURLOPT_FOLLOWLOCATION
427 Follow HTTP redirects. See CURLOPT_FOLLOWLOCATION(3)
428
429 CURLOPT_UNRESTRICTED_AUTH
430 Do not restrict authentication to original host. CURLOPT_UNRE‐
431 STRICTED_AUTH(3)
432
433 CURLOPT_MAXREDIRS
434 Maximum number of redirects to follow. See CURLOPT_MAXREDIRS(3)
435
436 CURLOPT_POSTREDIR
437 How to act on redirects after POST. See CURLOPT_POSTREDIR(3)
438
439 CURLOPT_PUT
440 Deprecated option Issue an HTTP PUT request. See CURLOPT_PUT(3)
441
442 CURLOPT_POST
443 Issue an HTTP POST request. See CURLOPT_POST(3)
444
445 CURLOPT_POSTFIELDS
446 Send a POST with this data. See CURLOPT_POSTFIELDS(3)
447
448 CURLOPT_POSTFIELDSIZE
449 The POST data is this big. See CURLOPT_POSTFIELDSIZE(3)
450
451 CURLOPT_POSTFIELDSIZE_LARGE
452 The POST data is this big. See CURLOPT_POSTFIELDSIZE_LARGE(3)
453
454 CURLOPT_COPYPOSTFIELDS
455 Send a POST with this data - and copy it. See CURLOPT_COPYPOST‐
456 FIELDS(3)
457
458 CURLOPT_HTTPPOST
459 Deprecated option Multipart formpost HTTP POST. See CUR‐
460 LOPT_HTTPPOST(3)
461
462 CURLOPT_REFERER
463 Referer: header. See CURLOPT_REFERER(3)
464
465 CURLOPT_USERAGENT
466 User-Agent: header. See CURLOPT_USERAGENT(3)
467
468 CURLOPT_HTTPHEADER
469 Custom HTTP headers. See CURLOPT_HTTPHEADER(3)
470
471 CURLOPT_HEADEROPT
472 Control custom headers. See CURLOPT_HEADEROPT(3)
473
474 CURLOPT_PROXYHEADER
475 Custom HTTP headers sent to proxy. See CURLOPT_PROXYHEADER(3)
476
477 CURLOPT_HTTP200ALIASES
478 Alternative versions of 200 OK. See CURLOPT_HTTP200ALIASES(3)
479
480 CURLOPT_COOKIE
481 Cookie(s) to send. See CURLOPT_COOKIE(3)
482
483 CURLOPT_COOKIEFILE
484 File to read cookies from. See CURLOPT_COOKIEFILE(3)
485
486 CURLOPT_COOKIEJAR
487 File to write cookies to. See CURLOPT_COOKIEJAR(3)
488
489 CURLOPT_COOKIESESSION
490 Start a new cookie session. See CURLOPT_COOKIESESSION(3)
491
492 CURLOPT_COOKIELIST
493 Add or control cookies. See CURLOPT_COOKIELIST(3)
494
495 CURLOPT_ALTSVC
496 Specify the Alt-Svc: cache file name. See CURLOPT_ALTSVC(3)
497
498 CURLOPT_ALTSVC_CTRL
499 Enable and configure Alt-Svc: treatment. See CUR‐
500 LOPT_ALTSVC_CTRL(3)
501
502 CURLOPT_HSTS
503 Set HSTS cache file. See CURLOPT_HSTS(3)
504
505 CURLOPT_HSTS_CTRL
506 Enable HSTS. See CURLOPT_HSTS_CTRL(3)
507
508 CURLOPT_HSTSREADFUNCTION
509 Set HSTS read callback. See CURLOPT_HSTSREADFUNCTION(3)
510
511 CURLOPT_HSTSREADDATA
512 Pass pointer to the HSTS read callback. See CURLOPT_HSTSREAD‐
513 DATA(3)
514
515 CURLOPT_HSTSWRITEFUNCTION
516 Set HSTS write callback. See CURLOPT_HSTSWRITEFUNCTION(3)
517
518 CURLOPT_HSTSWRITEDATA
519 Pass pointer to the HSTS write callback. See CURLOPT_HSTSWRITE‐
520 DATA(3)
521
522 CURLOPT_HTTPGET
523 Do an HTTP GET request. See CURLOPT_HTTPGET(3)
524
525 CURLOPT_REQUEST_TARGET
526 Set the request target. CURLOPT_REQUEST_TARGET(3)
527
528 CURLOPT_HTTP_VERSION
529 HTTP version to use. CURLOPT_HTTP_VERSION(3)
530
531 CURLOPT_HTTP09_ALLOWED
532 Allow HTTP/0.9 responses. CURLOPT_HTTP09_ALLOWED(3)
533
534 CURLOPT_IGNORE_CONTENT_LENGTH
535 Ignore Content-Length. See CURLOPT_IGNORE_CONTENT_LENGTH(3)
536
537 CURLOPT_HTTP_CONTENT_DECODING
538 Disable Content decoding. See CURLOPT_HTTP_CONTENT_DECODING(3)
539
540 CURLOPT_HTTP_TRANSFER_DECODING
541 Disable Transfer decoding. See CURLOPT_HTTP_TRANSFER_DECODING(3)
542
543 CURLOPT_EXPECT_100_TIMEOUT_MS
544 100-continue timeout. See CURLOPT_EXPECT_100_TIMEOUT_MS(3)
545
546 CURLOPT_TRAILERFUNCTION
547 Set callback for sending trailing headers. See CURLOPT_TRAILER‐
548 FUNCTION(3)
549
550 CURLOPT_TRAILERDATA
551 Custom pointer passed to the trailing headers callback. See CUR‐
552 LOPT_TRAILERDATA(3)
553
554 CURLOPT_PIPEWAIT
555 Wait on connection to pipeline on it. See CURLOPT_PIPEWAIT(3)
556
557 CURLOPT_STREAM_DEPENDS
558 This HTTP/2 stream depends on another. See CURLOPT_STREAM_DE‐
559 PENDS(3)
560
561 CURLOPT_STREAM_DEPENDS_E
562 This HTTP/2 stream depends on another exclusively. See CUR‐
563 LOPT_STREAM_DEPENDS_E(3)
564
565 CURLOPT_STREAM_WEIGHT
566 Set this HTTP/2 stream's weight. See CURLOPT_STREAM_WEIGHT(3)
567
569 CURLOPT_MAIL_FROM
570 Address of the sender. See CURLOPT_MAIL_FROM(3)
571
572 CURLOPT_MAIL_RCPT
573 Address of the recipients. See CURLOPT_MAIL_RCPT(3)
574
575 CURLOPT_MAIL_AUTH
576 Authentication address. See CURLOPT_MAIL_AUTH(3)
577
578 CURLOPT_MAIL_RCPT_ALLOWFAILS
579 Allow RCPT TO command to fail for some recipients. See CUR‐
580 LOPT_MAIL_RCPT_ALLOWFAILS(3)
581
583 CURLOPT_TFTP_BLKSIZE
584 TFTP block size. See CURLOPT_TFTP_BLKSIZE(3)
585
586 CURLOPT_TFTP_NO_OPTIONS
587 Do not send TFTP options requests. See CURLOPT_TFTP_NO_OP‐
588 TIONS(3)
589
591 CURLOPT_FTPPORT
592 Use active FTP. See CURLOPT_FTPPORT(3)
593
594 CURLOPT_QUOTE
595 Commands to run before transfer. See CURLOPT_QUOTE(3)
596
597 CURLOPT_POSTQUOTE
598 Commands to run after transfer. See CURLOPT_POSTQUOTE(3)
599
600 CURLOPT_PREQUOTE
601 Commands to run just before transfer. See CURLOPT_PREQUOTE(3)
602
603 CURLOPT_APPEND
604 Append to remote file. See CURLOPT_APPEND(3)
605
606 CURLOPT_FTP_USE_EPRT
607 Use EPRT. See CURLOPT_FTP_USE_EPRT(3)
608
609 CURLOPT_FTP_USE_EPSV
610 Use EPSV. See CURLOPT_FTP_USE_EPSV(3)
611
612 CURLOPT_FTP_USE_PRET
613 Use PRET. See CURLOPT_FTP_USE_PRET(3)
614
615 CURLOPT_FTP_CREATE_MISSING_DIRS
616 Create missing directories on the remote server. See CUR‐
617 LOPT_FTP_CREATE_MISSING_DIRS(3)
618
619 CURLOPT_SERVER_RESPONSE_TIMEOUT
620 Timeout for server responses. See CURLOPT_SERVER_RESPONSE_TIME‐
621 OUT(3)
622
623 CURLOPT_FTP_ALTERNATIVE_TO_USER
624 Alternative to USER. See CURLOPT_FTP_ALTERNATIVE_TO_USER(3)
625
626 CURLOPT_FTP_SKIP_PASV_IP
627 Ignore the IP address in the PASV response. See CUR‐
628 LOPT_FTP_SKIP_PASV_IP(3)
629
630 CURLOPT_FTPSSLAUTH
631 Control how to do TLS. See CURLOPT_FTPSSLAUTH(3)
632
633 CURLOPT_FTP_SSL_CCC
634 Back to non-TLS again after authentication. See CUR‐
635 LOPT_FTP_SSL_CCC(3)
636
637 CURLOPT_FTP_ACCOUNT
638 Send ACCT command. See CURLOPT_FTP_ACCOUNT(3)
639
640 CURLOPT_FTP_FILEMETHOD
641 Specify how to reach files. See CURLOPT_FTP_FILEMETHOD(3)
642
644 CURLOPT_RTSP_REQUEST
645 RTSP request. See CURLOPT_RTSP_REQUEST(3)
646
647 CURLOPT_RTSP_SESSION_ID
648 RTSP session-id. See CURLOPT_RTSP_SESSION_ID(3)
649
650 CURLOPT_RTSP_STREAM_URI
651 RTSP stream URI. See CURLOPT_RTSP_STREAM_URI(3)
652
653 CURLOPT_RTSP_TRANSPORT
654 RTSP Transport: header. See CURLOPT_RTSP_TRANSPORT(3)
655
656 CURLOPT_RTSP_CLIENT_CSEQ
657 Client CSEQ number. See CURLOPT_RTSP_CLIENT_CSEQ(3)
658
659 CURLOPT_RTSP_SERVER_CSEQ
660 CSEQ number for RTSP Server->Client request. See CUR‐
661 LOPT_RTSP_SERVER_CSEQ(3)
662
663 CURLOPT_AWS_SIGV4
664 AWS HTTP V4 Signature. See CURLOPT_AWS_SIGV4(3)
665
667 CURLOPT_TRANSFERTEXT
668 Use text transfer. See CURLOPT_TRANSFERTEXT(3)
669
670 CURLOPT_PROXY_TRANSFER_MODE
671 Add transfer mode to URL over proxy. See CURLOPT_PROXY_TRANS‐
672 FER_MODE(3)
673
674 CURLOPT_CRLF
675 Convert newlines. See CURLOPT_CRLF(3)
676
677 CURLOPT_RANGE
678 Range requests. See CURLOPT_RANGE(3)
679
680 CURLOPT_RESUME_FROM
681 Resume a transfer. See CURLOPT_RESUME_FROM(3)
682
683 CURLOPT_RESUME_FROM_LARGE
684 Resume a transfer. See CURLOPT_RESUME_FROM_LARGE(3)
685
686 CURLOPT_CURLU
687 Set URL to work on with a URL handle. See CURLOPT_CURLU(3)
688
689 CURLOPT_CUSTOMREQUEST
690 Custom request/method. See CURLOPT_CUSTOMREQUEST(3)
691
692 CURLOPT_FILETIME
693 Request file modification date and time. See CURLOPT_FILETIME(3)
694
695 CURLOPT_DIRLISTONLY
696 List only. See CURLOPT_DIRLISTONLY(3)
697
698 CURLOPT_NOBODY
699 Do not get the body contents. See CURLOPT_NOBODY(3)
700
701 CURLOPT_INFILESIZE
702 Size of file to send. CURLOPT_INFILESIZE(3)
703
704 CURLOPT_INFILESIZE_LARGE
705 Size of file to send. CURLOPT_INFILESIZE_LARGE(3)
706
707 CURLOPT_UPLOAD
708 Upload data. See CURLOPT_UPLOAD(3)
709
710 CURLOPT_UPLOAD_BUFFERSIZE
711 Set upload buffer size. See CURLOPT_UPLOAD_BUFFERSIZE(3)
712
713 CURLOPT_MIMEPOST
714 Post/send MIME data. See CURLOPT_MIMEPOST(3)
715
716 CURLOPT_MIME_OPTIONS
717 Set MIME option flags. See CURLOPT_MIME_OPTIONS(3)
718
719 CURLOPT_MAXFILESIZE
720 Maximum file size to get. See CURLOPT_MAXFILESIZE(3)
721
722 CURLOPT_MAXFILESIZE_LARGE
723 Maximum file size to get. See CURLOPT_MAXFILESIZE_LARGE(3)
724
725 CURLOPT_TIMECONDITION
726 Make a time conditional request. See CURLOPT_TIMECONDITION(3)
727
728 CURLOPT_TIMEVALUE
729 Time value for the time conditional request. See CUR‐
730 LOPT_TIMEVALUE(3)
731
732 CURLOPT_TIMEVALUE_LARGE
733 Time value for the time conditional request. See CUR‐
734 LOPT_TIMEVALUE_LARGE(3)
735
737 CURLOPT_TIMEOUT
738 Timeout for the entire request. See CURLOPT_TIMEOUT(3)
739
740 CURLOPT_TIMEOUT_MS
741 Millisecond timeout for the entire request. See CURLOPT_TIME‐
742 OUT_MS(3)
743
744 CURLOPT_LOW_SPEED_LIMIT
745 Low speed limit to abort transfer. See CUR‐
746 LOPT_LOW_SPEED_LIMIT(3)
747
748 CURLOPT_LOW_SPEED_TIME
749 Time to be below the speed to trigger low speed abort. See CUR‐
750 LOPT_LOW_SPEED_TIME(3)
751
752 CURLOPT_MAX_SEND_SPEED_LARGE
753 Cap the upload speed to this. See CUR‐
754 LOPT_MAX_SEND_SPEED_LARGE(3)
755
756 CURLOPT_MAX_RECV_SPEED_LARGE
757 Cap the download speed to this. See CUR‐
758 LOPT_MAX_RECV_SPEED_LARGE(3)
759
760 CURLOPT_MAXCONNECTS
761 Maximum number of connections in the connection pool. See CUR‐
762 LOPT_MAXCONNECTS(3)
763
764 CURLOPT_FRESH_CONNECT
765 Use a new connection. CURLOPT_FRESH_CONNECT(3)
766
767 CURLOPT_FORBID_REUSE
768 Prevent subsequent connections from re-using this. See CUR‐
769 LOPT_FORBID_REUSE(3)
770
771 CURLOPT_MAXAGE_CONN
772 Limit the age (idle time) of connections for reuse. See CUR‐
773 LOPT_MAXAGE_CONN(3)
774
775 CURLOPT_MAXLIFETIME_CONN
776 Limit the age (since creation) of connections for reuse. See
777 CURLOPT_MAXLIFETIME_CONN(3)
778
779 CURLOPT_CONNECTTIMEOUT
780 Timeout for the connection phase. See CURLOPT_CONNECTTIMEOUT(3)
781
782 CURLOPT_CONNECTTIMEOUT_MS
783 Millisecond timeout for the connection phase. See CURLOPT_CON‐
784 NECTTIMEOUT_MS(3)
785
786 CURLOPT_IPRESOLVE
787 IP version to use. See CURLOPT_IPRESOLVE(3)
788
789 CURLOPT_CONNECT_ONLY
790 Only connect, nothing else. See CURLOPT_CONNECT_ONLY(3)
791
792 CURLOPT_USE_SSL
793 Use TLS/SSL. See CURLOPT_USE_SSL(3)
794
795 CURLOPT_RESOLVE
796 Provide fixed/fake name resolves. See CURLOPT_RESOLVE(3)
797
798 CURLOPT_DNS_INTERFACE
799 Bind name resolves to this interface. See CURLOPT_DNS_INTER‐
800 FACE(3)
801
802 CURLOPT_DNS_LOCAL_IP4
803 Bind name resolves to this IP4 address. See CURLOPT_DNS_LO‐
804 CAL_IP4(3)
805
806 CURLOPT_DNS_LOCAL_IP6
807 Bind name resolves to this IP6 address. See CURLOPT_DNS_LO‐
808 CAL_IP6(3)
809
810 CURLOPT_DNS_SERVERS
811 Preferred DNS servers. See CURLOPT_DNS_SERVERS(3)
812
813 CURLOPT_DNS_SHUFFLE_ADDRESSES
814 Shuffle addresses before use. See CURLOPT_DNS_SHUFFLE_AD‐
815 DRESSES(3)
816
817 CURLOPT_ACCEPTTIMEOUT_MS
818 Timeout for waiting for the server's connect back to be ac‐
819 cepted. See CURLOPT_ACCEPTTIMEOUT_MS(3)
820
821 CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS
822 Timeout for happy eyeballs. See CURLOPT_HAPPY_EYEBALLS_TIME‐
823 OUT_MS(3)
824
825 CURLOPT_UPKEEP_INTERVAL_MS
826 Sets the interval at which connection upkeep are performed. See
827 CURLOPT_UPKEEP_INTERVAL_MS(3)
828
830 CURLOPT_SSLCERT
831 Client cert. See CURLOPT_SSLCERT(3)
832
833 CURLOPT_SSLCERT_BLOB
834 Client cert memory buffer. See CURLOPT_SSLCERT_BLOB(3)
835
836 CURLOPT_PROXY_SSLCERT
837 Proxy client cert. See CURLOPT_PROXY_SSLCERT(3)
838
839 CURLOPT_PROXY_SSLCERT_BLOB
840 Proxy client cert memory buffer. See CUR‐
841 LOPT_PROXY_SSLCERT_BLOB(3)
842
843 CURLOPT_SSLCERTTYPE
844 Client cert type. See CURLOPT_SSLCERTTYPE(3)
845
846 CURLOPT_PROXY_SSLCERTTYPE
847 Proxy client cert type. See CURLOPT_PROXY_SSLCERTTYPE(3)
848
849 CURLOPT_SSLKEY
850 Client key. See CURLOPT_SSLKEY(3)
851
852 CURLOPT_SSLKEY_BLOB
853 Client key memory buffer. See CURLOPT_SSLKEY_BLOB(3)
854
855 CURLOPT_PROXY_SSLKEY
856 Proxy client key. See CURLOPT_PROXY_SSLKEY(3)
857
858 CURLOPT_PROXY_SSLKEY_BLOB
859 Proxy client key. See CURLOPT_PROXY_SSLKEY_BLOB(3)
860
861 CURLOPT_SSLKEYTYPE
862 Client key type. See CURLOPT_SSLKEYTYPE(3)
863
864 CURLOPT_PROXY_SSLKEYTYPE
865 Proxy client key type. See CURLOPT_PROXY_SSLKEYTYPE(3)
866
867 CURLOPT_KEYPASSWD
868 Client key password. See CURLOPT_KEYPASSWD(3)
869
870 CURLOPT_PROXY_KEYPASSWD
871 Proxy client key password. See CURLOPT_PROXY_KEYPASSWD(3)
872
873 CURLOPT_SSL_EC_CURVES
874 Set key exchange curves. See CURLOPT_SSL_EC_CURVES(3)
875
876 CURLOPT_SSL_ENABLE_ALPN
877 Enable use of ALPN. See CURLOPT_SSL_ENABLE_ALPN(3)
878
879 CURLOPT_SSL_ENABLE_NPN
880 OBSOLETE Enable use of NPN. See CURLOPT_SSL_ENABLE_NPN(3)
881
882 CURLOPT_SSLENGINE
883 Use identifier with SSL engine. See CURLOPT_SSLENGINE(3)
884
885 CURLOPT_SSLENGINE_DEFAULT
886 Default SSL engine. See CURLOPT_SSLENGINE_DEFAULT(3)
887
888 CURLOPT_SSL_FALSESTART
889 Enable TLS False Start. See CURLOPT_SSL_FALSESTART(3)
890
891 CURLOPT_SSLVERSION
892 SSL version to use. See CURLOPT_SSLVERSION(3)
893
894 CURLOPT_PROXY_SSLVERSION
895 Proxy SSL version to use. See CURLOPT_PROXY_SSLVERSION(3)
896
897 CURLOPT_SSL_VERIFYHOST
898 Verify the host name in the SSL certificate. See CUR‐
899 LOPT_SSL_VERIFYHOST(3)
900
901 CURLOPT_DOH_SSL_VERIFYHOST
902 Verify the host name in the DoH (DNS-over-HTTPS) SSL certifi‐
903 cate. See CURLOPT_DOH_SSL_VERIFYHOST(3)
904
905 CURLOPT_PROXY_SSL_VERIFYHOST
906 Verify the host name in the proxy SSL certificate. See CUR‐
907 LOPT_PROXY_SSL_VERIFYHOST(3)
908
909 CURLOPT_SSL_VERIFYPEER
910 Verify the SSL certificate. See CURLOPT_SSL_VERIFYPEER(3)
911
912 CURLOPT_DOH_SSL_VERIFYPEER
913 Verify the DoH (DNS-over-HTTPS) SSL certificate. See CUR‐
914 LOPT_DOH_SSL_VERIFYPEER(3)
915
916 CURLOPT_PROXY_SSL_VERIFYPEER
917 Verify the proxy SSL certificate. See CURLOPT_PROXY_SSL_VERI‐
918 FYPEER(3)
919
920 CURLOPT_SSL_VERIFYSTATUS
921 Verify the SSL certificate's status. See CURLOPT_SSL_VERIFYSTA‐
922 TUS(3)
923
924 CURLOPT_DOH_SSL_VERIFYSTATUS
925 Verify the DoH (DNS-over-HTTPS) SSL certificate's status. See
926 CURLOPT_DOH_SSL_VERIFYSTATUS(3)
927
928 CURLOPT_CAINFO
929 CA cert bundle. See CURLOPT_CAINFO(3)
930
931 CURLOPT_CAINFO_BLOB
932 CA cert bundle memory buffer. See CURLOPT_CAINFO_BLOB(3)
933
934 CURLOPT_PROXY_CAINFO
935 Proxy CA cert bundle. See CURLOPT_PROXY_CAINFO(3)
936
937 CURLOPT_PROXY_CAINFO_BLOB
938 Proxy CA cert bundle memory buffer. See CUR‐
939 LOPT_PROXY_CAINFO_BLOB(3)
940
941 CURLOPT_ISSUERCERT
942 Issuer certificate. See CURLOPT_ISSUERCERT(3)
943
944 CURLOPT_ISSUERCERT_BLOB
945 Issuer certificate memory buffer. See CURLOPT_ISSUERCERT_BLOB(3)
946
947 CURLOPT_PROXY_ISSUERCERT
948 Proxy issuer certificate. See CURLOPT_PROXY_ISSUERCERT(3)
949
950 CURLOPT_PROXY_ISSUERCERT_BLOB
951 Proxy issuer certificate memory buffer. See CURLOPT_PROXY_IS‐
952 SUERCERT_BLOB(3)
953
954 CURLOPT_CAPATH
955 Path to CA cert bundle. See CURLOPT_CAPATH(3)
956
957 CURLOPT_PROXY_CAPATH
958 Path to proxy CA cert bundle. See CURLOPT_PROXY_CAPATH(3)
959
960 CURLOPT_CRLFILE
961 Certificate Revocation List. See CURLOPT_CRLFILE(3)
962
963 CURLOPT_PROXY_CRLFILE
964 Proxy Certificate Revocation List. See CURLOPT_PROXY_CRLFILE(3)
965
966 CURLOPT_CA_CACHE_TIMEOUT
967 Timeout for CA cache. See CURLOPT_CA_CACHE_TIMEOUT(3)
968
969 CURLOPT_CERTINFO
970 Extract certificate info. See CURLOPT_CERTINFO(3)
971
972 CURLOPT_PINNEDPUBLICKEY
973 Set pinned SSL public key . See CURLOPT_PINNEDPUBLICKEY(3)
974
975 CURLOPT_PROXY_PINNEDPUBLICKEY
976 Set the proxy's pinned SSL public key. See CURLOPT_PROXY_PINNED‐
977 PUBLICKEY(3)
978
979 CURLOPT_RANDOM_FILE
980 OBSOLETE Provide source for entropy random data. See CUR‐
981 LOPT_RANDOM_FILE(3)
982
983 CURLOPT_EGDSOCKET
984 OBSOLETE Identify EGD socket for entropy. See CUR‐
985 LOPT_EGDSOCKET(3)
986
987 CURLOPT_SSL_CIPHER_LIST
988 Ciphers to use. See CURLOPT_SSL_CIPHER_LIST(3)
989
990 CURLOPT_PROXY_SSL_CIPHER_LIST
991 Proxy ciphers to use. See CURLOPT_PROXY_SSL_CIPHER_LIST(3)
992
993 CURLOPT_TLS13_CIPHERS
994 TLS 1.3 cipher suites to use. See CURLOPT_TLS13_CIPHERS(3)
995
996 CURLOPT_PROXY_TLS13_CIPHERS
997 Proxy TLS 1.3 cipher suites to use. See CURLOPT_PROXY_TLS13_CI‐
998 PHERS(3)
999
1000 CURLOPT_SSL_SESSIONID_CACHE
1001 Disable SSL session-id cache. See CURLOPT_SSL_SESSIONID_CACHE(3)
1002
1003 CURLOPT_SSL_OPTIONS
1004 Control SSL behavior. See CURLOPT_SSL_OPTIONS(3)
1005
1006 CURLOPT_PROXY_SSL_OPTIONS
1007 Control proxy SSL behavior. See CURLOPT_PROXY_SSL_OPTIONS(3)
1008
1009 CURLOPT_KRBLEVEL
1010 Kerberos security level. See CURLOPT_KRBLEVEL(3)
1011
1012 CURLOPT_GSSAPI_DELEGATION
1013 Disable GSS-API delegation. See CURLOPT_GSSAPI_DELEGATION(3)
1014
1016 CURLOPT_SSH_AUTH_TYPES
1017 SSH authentication types. See CURLOPT_SSH_AUTH_TYPES(3)
1018
1019 CURLOPT_SSH_COMPRESSION
1020 Enable SSH compression. See CURLOPT_SSH_COMPRESSION(3)
1021
1022 CURLOPT_SSH_HOST_PUBLIC_KEY_MD5
1023 MD5 of host's public key. See CURLOPT_SSH_HOST_PUBLIC_KEY_MD5(3)
1024
1025 CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256
1026 SHA256 of host's public key. See CURLOPT_SSH_HOST_PUB‐
1027 LIC_KEY_SHA256(3)
1028
1029 CURLOPT_SSH_PUBLIC_KEYFILE
1030 File name of public key. See CURLOPT_SSH_PUBLIC_KEYFILE(3)
1031
1032 CURLOPT_SSH_PRIVATE_KEYFILE
1033 File name of private key. See CURLOPT_SSH_PRIVATE_KEYFILE(3)
1034
1035 CURLOPT_SSH_KNOWNHOSTS
1036 File name with known hosts. See CURLOPT_SSH_KNOWNHOSTS(3)
1037
1038 CURLOPT_SSH_KEYFUNCTION
1039 Callback for known hosts handling. See CURLOPT_SSH_KEYFUNC‐
1040 TION(3)
1041
1042 CURLOPT_SSH_KEYDATA
1043 Custom pointer to pass to ssh key callback. See CURLOPT_SSH_KEY‐
1044 DATA(3)
1045
1046 CURLOPT_SSH_HOSTKEYFUNCTION
1047 Callback for checking host key handling. See CUR‐
1048 LOPT_SSH_HOSTKEYFUNCTION(3)
1049
1050 CURLOPT_SSH_HOSTKEYDATA
1051 Custom pointer to pass to ssh host key callback. See CUR‐
1052 LOPT_SSH_HOSTKEYDATA(3)
1053
1055 CURLOPT_WS_OPTIONS
1056 Set WebSocket options. See CURLOPT_WS_OPTIONS(3)
1057
1059 CURLOPT_PRIVATE
1060 Private pointer to store. See CURLOPT_PRIVATE(3)
1061
1062 CURLOPT_SHARE
1063 Share object to use. See CURLOPT_SHARE(3)
1064
1065 CURLOPT_NEW_FILE_PERMS
1066 Mode for creating new remote files. See CUR‐
1067 LOPT_NEW_FILE_PERMS(3)
1068
1069 CURLOPT_NEW_DIRECTORY_PERMS
1070 Mode for creating new remote directories. See CURLOPT_NEW_DIREC‐
1071 TORY_PERMS(3)
1072
1073 CURLOPT_QUICK_EXIT
1074 To be set by toplevel tools like "curl" to skip lengthy cleanups
1075 when they are about to call exit() anyway. See CUR‐
1076 LOPT_QUICK_EXIT(3)
1077
1079 CURLOPT_TELNETOPTIONS
1080 TELNET options. See CURLOPT_TELNETOPTIONS(3)
1081
1083 CURL *curl = curl_easy_init();
1084 if(curl) {
1085 CURLcode res;
1086 curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
1087 res = curl_easy_perform(curl);
1088 curl_easy_cleanup(curl);
1089 }
1090
1092 Always
1093
1095 CURLE_OK (zero) means that the option was set properly, non-zero means
1096 an error occurred as <curl/curl.h> defines. See the libcurl-errors(3)
1097 man page for the full list with descriptions.
1098
1099 Strings passed on to libcurl must be shorter than 8000000 bytes, other‐
1100 wise curl_easy_setopt(3) returns CURLE_BAD_FUNCTION_ARGUMENT (added in
1101 7.65.0).
1102
1103 CURLE_BAD_FUNCTION_ARGUMENT is returned when the argument to an option
1104 is invalid, like perhaps out of range.
1105
1106 If you try to set an option that libcurl does not know about, perhaps
1107 because the library is too old to support it or the option was removed
1108 in a recent version, this function will return CURLE_UNKNOWN_OPTION. If
1109 support for the option was disabled at compile-time, it will return
1110 CURLE_NOT_BUILT_IN.
1111
1113 curl_easy_init(3), curl_easy_cleanup(3), curl_easy_reset(3),
1114 curl_easy_getinfo(3), curl_multi_setopt(3), curl_easy_option_next(3),
1115 curl_easy_option_by_name(3), curl_easy_option_by_id(3),
1116
1117
1118
1119libcurl 8.2.1 March 16, 2023 curl_easy_setopt(3)