1curl_easy_setopt(3) libcurl Manual 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_SERVICE_NAME
289 Authentication service name. CURLOPT_SERVICE_NAME(3)
290
291 CURLOPT_INTERFACE
292 Bind connection locally to this. See CURLOPT_INTERFACE(3)
293
294 CURLOPT_LOCALPORT
295 Bind connection locally to this port. See CURLOPT_LOCALPORT(3)
296
297 CURLOPT_LOCALPORTRANGE
298 Bind connection locally to port range. See CURLOPT_LOCALPOR‐
299 TRANGE(3)
300
301 CURLOPT_DNS_CACHE_TIMEOUT
302 Timeout for DNS cache. See CURLOPT_DNS_CACHE_TIMEOUT(3)
303
304 CURLOPT_DNS_USE_GLOBAL_CACHE
305 OBSOLETE Enable global DNS cache. See CUR‐
306 LOPT_DNS_USE_GLOBAL_CACHE(3)
307
308 CURLOPT_DOH_URL
309 Use this DoH server for name resolves. See CURLOPT_DOH_URL(3)
310
311 CURLOPT_BUFFERSIZE
312 Ask for alternate buffer size. See CURLOPT_BUFFERSIZE(3)
313
314 CURLOPT_PORT
315 Port number to connect to. See CURLOPT_PORT(3)
316
317 CURLOPT_TCP_FASTOPEN
318 Enable TCP Fast Open. See CURLOPT_TCP_FASTOPEN(3)
319
320 CURLOPT_TCP_NODELAY
321 Disable the Nagle algorithm. See CURLOPT_TCP_NODELAY(3)
322
323 CURLOPT_ADDRESS_SCOPE
324 IPv6 scope for local addresses. See CURLOPT_ADDRESS_SCOPE(3)
325
326 CURLOPT_TCP_KEEPALIVE
327 Enable TCP keep-alive. See CURLOPT_TCP_KEEPALIVE(3)
328
329 CURLOPT_TCP_KEEPIDLE
330 Idle time before sending keep-alive. See CURLOPT_TCP_KEEPIDLE(3)
331
332 CURLOPT_TCP_KEEPINTVL
333 Interval between keep-alive probes. See CURLOPT_TCP_KEEPINTVL(3)
334
335 CURLOPT_UNIX_SOCKET_PATH
336 Path to a Unix domain socket. See CURLOPT_UNIX_SOCKET_PATH(3)
337
338 CURLOPT_ABSTRACT_UNIX_SOCKET
339 Path to an abstract Unix domain socket. See CURLOPT_AB‐
340 STRACT_UNIX_SOCKET(3)
341
343 CURLOPT_NETRC
344 Enable .netrc parsing. See CURLOPT_NETRC(3)
345
346 CURLOPT_NETRC_FILE
347 .netrc file name. See CURLOPT_NETRC_FILE(3)
348
349 CURLOPT_USERPWD
350 User name and password. See CURLOPT_USERPWD(3)
351
352 CURLOPT_PROXYUSERPWD
353 Proxy user name and password. See CURLOPT_PROXYUSERPWD(3)
354
355 CURLOPT_USERNAME
356 User name. See CURLOPT_USERNAME(3)
357
358 CURLOPT_PASSWORD
359 Password. See CURLOPT_PASSWORD(3)
360
361 CURLOPT_LOGIN_OPTIONS
362 Login options. See CURLOPT_LOGIN_OPTIONS(3)
363
364 CURLOPT_PROXYUSERNAME
365 Proxy user name. See CURLOPT_PROXYUSERNAME(3)
366
367 CURLOPT_PROXYPASSWORD
368 Proxy password. See CURLOPT_PROXYPASSWORD(3)
369
370 CURLOPT_HTTPAUTH
371 HTTP server authentication methods. See CURLOPT_HTTPAUTH(3)
372
373 CURLOPT_TLSAUTH_USERNAME
374 TLS authentication user name. See CURLOPT_TLSAUTH_USERNAME(3)
375
376 CURLOPT_PROXY_TLSAUTH_USERNAME
377 Proxy TLS authentication user name. See CURLOPT_PROXY_TL‐
378 SAUTH_USERNAME(3)
379
380 CURLOPT_TLSAUTH_PASSWORD
381 TLS authentication password. See CURLOPT_TLSAUTH_PASSWORD(3)
382
383 CURLOPT_PROXY_TLSAUTH_PASSWORD
384 Proxy TLS authentication password. See CURLOPT_PROXY_TL‐
385 SAUTH_PASSWORD(3)
386
387 CURLOPT_TLSAUTH_TYPE
388 TLS authentication methods. See CURLOPT_TLSAUTH_TYPE(3)
389
390 CURLOPT_PROXY_TLSAUTH_TYPE
391 Proxy TLS authentication methods. See CURLOPT_PROXY_TL‐
392 SAUTH_TYPE(3)
393
394 CURLOPT_PROXYAUTH
395 HTTP proxy authentication methods. See CURLOPT_PROXYAUTH(3)
396
397 CURLOPT_SASL_AUTHZID
398 SASL authorization identity (identity to act as). See CUR‐
399 LOPT_SASL_AUTHZID(3)
400
401 CURLOPT_SASL_IR
402 Enable SASL initial response. See CURLOPT_SASL_IR(3)
403
404 CURLOPT_XOAUTH2_BEARER
405 OAuth2 bearer token. See CURLOPT_XOAUTH2_BEARER(3)
406
407 CURLOPT_DISALLOW_USERNAME_IN_URL
408 Do not allow username in URL. See CURLOPT_DISALLOW_USER‐
409 NAME_IN_URL(3)
410
412 CURLOPT_AUTOREFERER
413 Automatically set Referer: header. See CURLOPT_AUTOREFERER(3)
414
415 CURLOPT_ACCEPT_ENCODING
416 Accept-Encoding and automatic decompressing data. See CUR‐
417 LOPT_ACCEPT_ENCODING(3)
418
419 CURLOPT_TRANSFER_ENCODING
420 Request Transfer-Encoding. See CURLOPT_TRANSFER_ENCODING(3)
421
422 CURLOPT_FOLLOWLOCATION
423 Follow HTTP redirects. See CURLOPT_FOLLOWLOCATION(3)
424
425 CURLOPT_UNRESTRICTED_AUTH
426 Do not restrict authentication to original host. CURLOPT_UNRE‐
427 STRICTED_AUTH(3)
428
429 CURLOPT_MAXREDIRS
430 Maximum number of redirects to follow. See CURLOPT_MAXREDIRS(3)
431
432 CURLOPT_POSTREDIR
433 How to act on redirects after POST. See CURLOPT_POSTREDIR(3)
434
435 CURLOPT_PUT
436 Deprecated option Issue an HTTP PUT request. See CURLOPT_PUT(3)
437
438 CURLOPT_POST
439 Issue an HTTP POST request. See CURLOPT_POST(3)
440
441 CURLOPT_POSTFIELDS
442 Send a POST with this data. See CURLOPT_POSTFIELDS(3)
443
444 CURLOPT_POSTFIELDSIZE
445 The POST data is this big. See CURLOPT_POSTFIELDSIZE(3)
446
447 CURLOPT_POSTFIELDSIZE_LARGE
448 The POST data is this big. See CURLOPT_POSTFIELDSIZE_LARGE(3)
449
450 CURLOPT_COPYPOSTFIELDS
451 Send a POST with this data - and copy it. See CURLOPT_COPYPOST‐
452 FIELDS(3)
453
454 CURLOPT_HTTPPOST
455 Deprecated option Multipart formpost HTTP POST. See CUR‐
456 LOPT_HTTPPOST(3)
457
458 CURLOPT_REFERER
459 Referer: header. See CURLOPT_REFERER(3)
460
461 CURLOPT_USERAGENT
462 User-Agent: header. See CURLOPT_USERAGENT(3)
463
464 CURLOPT_HTTPHEADER
465 Custom HTTP headers. See CURLOPT_HTTPHEADER(3)
466
467 CURLOPT_HEADEROPT
468 Control custom headers. See CURLOPT_HEADEROPT(3)
469
470 CURLOPT_PROXYHEADER
471 Custom HTTP headers sent to proxy. See CURLOPT_PROXYHEADER(3)
472
473 CURLOPT_HTTP200ALIASES
474 Alternative versions of 200 OK. See CURLOPT_HTTP200ALIASES(3)
475
476 CURLOPT_COOKIE
477 Cookie(s) to send. See CURLOPT_COOKIE(3)
478
479 CURLOPT_COOKIEFILE
480 File to read cookies from. See CURLOPT_COOKIEFILE(3)
481
482 CURLOPT_COOKIEJAR
483 File to write cookies to. See CURLOPT_COOKIEJAR(3)
484
485 CURLOPT_COOKIESESSION
486 Start a new cookie session. See CURLOPT_COOKIESESSION(3)
487
488 CURLOPT_COOKIELIST
489 Add or control cookies. See CURLOPT_COOKIELIST(3)
490
491 CURLOPT_ALTSVC
492 Specify the Alt-Svc: cache file name. See CURLOPT_ALTSVC(3)
493
494 CURLOPT_ALTSVC_CTRL
495 Enable and configure Alt-Svc: treatment. See CUR‐
496 LOPT_ALTSVC_CTRL(3)
497
498 CURLOPT_HSTS
499 Set HSTS cache file. See CURLOPT_HSTS(3)
500
501 CURLOPT_HSTS_CTRL
502 Enable HSTS. See CURLOPT_HSTS_CTRL(3)
503
504 CURLOPT_HSTSREADFUNCTION
505 Set HSTS read callback. See CURLOPT_HSTSREADFUNCTION(3)
506
507 CURLOPT_HSTSREADDATA
508 Pass pointer to the HSTS read callback. See CURLOPT_HSTSREAD‐
509 DATA(3)
510
511 CURLOPT_HSTSWRITEFUNCTION
512 Set HSTS write callback. See CURLOPT_HSTSWRITEFUNCTION(3)
513
514 CURLOPT_HSTSWRITEDATA
515 Pass pointer to the HSTS write callback. See CURLOPT_HSTSWRITE‐
516 DATA(3)
517
518 CURLOPT_HTTPGET
519 Do an HTTP GET request. See CURLOPT_HTTPGET(3)
520
521 CURLOPT_REQUEST_TARGET
522 Set the request target. CURLOPT_REQUEST_TARGET(3)
523
524 CURLOPT_HTTP_VERSION
525 HTTP version to use. CURLOPT_HTTP_VERSION(3)
526
527 CURLOPT_HTTP09_ALLOWED
528 Allow HTTP/0.9 responses. CURLOPT_HTTP09_ALLOWED(3)
529
530 CURLOPT_IGNORE_CONTENT_LENGTH
531 Ignore Content-Length. See CURLOPT_IGNORE_CONTENT_LENGTH(3)
532
533 CURLOPT_HTTP_CONTENT_DECODING
534 Disable Content decoding. See CURLOPT_HTTP_CONTENT_DECODING(3)
535
536 CURLOPT_HTTP_TRANSFER_DECODING
537 Disable Transfer decoding. See CURLOPT_HTTP_TRANSFER_DECODING(3)
538
539 CURLOPT_EXPECT_100_TIMEOUT_MS
540 100-continue timeout. See CURLOPT_EXPECT_100_TIMEOUT_MS(3)
541
542 CURLOPT_TRAILERFUNCTION
543 Set callback for sending trailing headers. See CURLOPT_TRAILER‐
544 FUNCTION(3)
545
546 CURLOPT_TRAILERDATA
547 Custom pointer passed to the trailing headers callback. See CUR‐
548 LOPT_TRAILERDATA(3)
549
550 CURLOPT_PIPEWAIT
551 Wait on connection to pipeline on it. See CURLOPT_PIPEWAIT(3)
552
553 CURLOPT_STREAM_DEPENDS
554 This HTTP/2 stream depends on another. See CURLOPT_STREAM_DE‐
555 PENDS(3)
556
557 CURLOPT_STREAM_DEPENDS_E
558 This HTTP/2 stream depends on another exclusively. See CUR‐
559 LOPT_STREAM_DEPENDS_E(3)
560
561 CURLOPT_STREAM_WEIGHT
562 Set this HTTP/2 stream's weight. See CURLOPT_STREAM_WEIGHT(3)
563
565 CURLOPT_MAIL_FROM
566 Address of the sender. See CURLOPT_MAIL_FROM(3)
567
568 CURLOPT_MAIL_RCPT
569 Address of the recipients. See CURLOPT_MAIL_RCPT(3)
570
571 CURLOPT_MAIL_AUTH
572 Authentication address. See CURLOPT_MAIL_AUTH(3)
573
574 CURLOPT_MAIL_RCPT_ALLLOWFAILS
575 Allow RCPT TO command to fail for some recipients. See CUR‐
576 LOPT_MAIL_RCPT_ALLLOWFAILS(3)
577
579 CURLOPT_TFTP_BLKSIZE
580 TFTP block size. See CURLOPT_TFTP_BLKSIZE(3)
581
582 CURLOPT_TFTP_NO_OPTIONS
583 Do not send TFTP options requests. See CURLOPT_TFTP_NO_OP‐
584 TIONS(3)
585
587 CURLOPT_FTPPORT
588 Use active FTP. See CURLOPT_FTPPORT(3)
589
590 CURLOPT_QUOTE
591 Commands to run before transfer. See CURLOPT_QUOTE(3)
592
593 CURLOPT_POSTQUOTE
594 Commands to run after transfer. See CURLOPT_POSTQUOTE(3)
595
596 CURLOPT_PREQUOTE
597 Commands to run just before transfer. See CURLOPT_PREQUOTE(3)
598
599 CURLOPT_APPEND
600 Append to remote file. See CURLOPT_APPEND(3)
601
602 CURLOPT_FTP_USE_EPRT
603 Use EPRT. See CURLOPT_FTP_USE_EPRT(3)
604
605 CURLOPT_FTP_USE_EPSV
606 Use EPSV. See CURLOPT_FTP_USE_EPSV(3)
607
608 CURLOPT_FTP_USE_PRET
609 Use PRET. See CURLOPT_FTP_USE_PRET(3)
610
611 CURLOPT_FTP_CREATE_MISSING_DIRS
612 Create missing directories on the remote server. See CUR‐
613 LOPT_FTP_CREATE_MISSING_DIRS(3)
614
615 CURLOPT_SERVER_RESPONSE_TIMEOUT
616 Timeout for server responses. See CURLOPT_SERVER_RESPONSE_TIME‐
617 OUT(3)
618
619 CURLOPT_FTP_ALTERNATIVE_TO_USER
620 Alternative to USER. See CURLOPT_FTP_ALTERNATIVE_TO_USER(3)
621
622 CURLOPT_FTP_SKIP_PASV_IP
623 Ignore the IP address in the PASV response. See CUR‐
624 LOPT_FTP_SKIP_PASV_IP(3)
625
626 CURLOPT_FTPSSLAUTH
627 Control how to do TLS. See CURLOPT_FTPSSLAUTH(3)
628
629 CURLOPT_FTP_SSL_CCC
630 Back to non-TLS again after authentication. See CUR‐
631 LOPT_FTP_SSL_CCC(3)
632
633 CURLOPT_FTP_ACCOUNT
634 Send ACCT command. See CURLOPT_FTP_ACCOUNT(3)
635
636 CURLOPT_FTP_FILEMETHOD
637 Specify how to reach files. See CURLOPT_FTP_FILEMETHOD(3)
638
640 CURLOPT_RTSP_REQUEST
641 RTSP request. See CURLOPT_RTSP_REQUEST(3)
642
643 CURLOPT_RTSP_SESSION_ID
644 RTSP session-id. See CURLOPT_RTSP_SESSION_ID(3)
645
646 CURLOPT_RTSP_STREAM_URI
647 RTSP stream URI. See CURLOPT_RTSP_STREAM_URI(3)
648
649 CURLOPT_RTSP_TRANSPORT
650 RTSP Transport: header. See CURLOPT_RTSP_TRANSPORT(3)
651
652 CURLOPT_RTSP_CLIENT_CSEQ
653 Client CSEQ number. See CURLOPT_RTSP_CLIENT_CSEQ(3)
654
655 CURLOPT_RTSP_SERVER_CSEQ
656 CSEQ number for RTSP Server->Client request. See CUR‐
657 LOPT_RTSP_SERVER_CSEQ(3)
658
659 CURLOPT_AWS_SIGV4
660 AWS HTTP V4 Signature. See CURLOPT_AWS_SIGV4(3)
661
663 CURLOPT_TRANSFERTEXT
664 Use text transfer. See CURLOPT_TRANSFERTEXT(3)
665
666 CURLOPT_PROXY_TRANSFER_MODE
667 Add transfer mode to URL over proxy. See CURLOPT_PROXY_TRANS‐
668 FER_MODE(3)
669
670 CURLOPT_CRLF
671 Convert newlines. See CURLOPT_CRLF(3)
672
673 CURLOPT_RANGE
674 Range requests. See CURLOPT_RANGE(3)
675
676 CURLOPT_RESUME_FROM
677 Resume a transfer. See CURLOPT_RESUME_FROM(3)
678
679 CURLOPT_RESUME_FROM_LARGE
680 Resume a transfer. See CURLOPT_RESUME_FROM_LARGE(3)
681
682 CURLOPT_CURLU
683 Set URL to work on with a URL handle. See CURLOPT_CURLU(3)
684
685 CURLOPT_CUSTOMREQUEST
686 Custom request/method. See CURLOPT_CUSTOMREQUEST(3)
687
688 CURLOPT_FILETIME
689 Request file modification date and time. See CURLOPT_FILETIME(3)
690
691 CURLOPT_DIRLISTONLY
692 List only. See CURLOPT_DIRLISTONLY(3)
693
694 CURLOPT_NOBODY
695 Do not get the body contents. See CURLOPT_NOBODY(3)
696
697 CURLOPT_INFILESIZE
698 Size of file to send. CURLOPT_INFILESIZE(3)
699
700 CURLOPT_INFILESIZE_LARGE
701 Size of file to send. CURLOPT_INFILESIZE_LARGE(3)
702
703 CURLOPT_UPLOAD
704 Upload data. See CURLOPT_UPLOAD(3)
705
706 CURLOPT_UPLOAD_BUFFERSIZE
707 Set upload buffer size. See CURLOPT_UPLOAD_BUFFERSIZE(3)
708
709 CURLOPT_MIMEPOST
710 Post/send MIME data. See CURLOPT_MIMEPOST(3)
711
712 CURLOPT_MIME_OPTIONS
713 Set MIME option flags. See CURLOPT_MIME_OPTIONS(3)
714
715 CURLOPT_MAXFILESIZE
716 Maximum file size to get. See CURLOPT_MAXFILESIZE(3)
717
718 CURLOPT_MAXFILESIZE_LARGE
719 Maximum file size to get. See CURLOPT_MAXFILESIZE_LARGE(3)
720
721 CURLOPT_TIMECONDITION
722 Make a time conditional request. See CURLOPT_TIMECONDITION(3)
723
724 CURLOPT_TIMEVALUE
725 Time value for the time conditional request. See CUR‐
726 LOPT_TIMEVALUE(3)
727
728 CURLOPT_TIMEVALUE_LARGE
729 Time value for the time conditional request. See CUR‐
730 LOPT_TIMEVALUE_LARGE(3)
731
733 CURLOPT_TIMEOUT
734 Timeout for the entire request. See CURLOPT_TIMEOUT(3)
735
736 CURLOPT_TIMEOUT_MS
737 Millisecond timeout for the entire request. See CURLOPT_TIME‐
738 OUT_MS(3)
739
740 CURLOPT_LOW_SPEED_LIMIT
741 Low speed limit to abort transfer. See CUR‐
742 LOPT_LOW_SPEED_LIMIT(3)
743
744 CURLOPT_LOW_SPEED_TIME
745 Time to be below the speed to trigger low speed abort. See CUR‐
746 LOPT_LOW_SPEED_TIME(3)
747
748 CURLOPT_MAX_SEND_SPEED_LARGE
749 Cap the upload speed to this. See CUR‐
750 LOPT_MAX_SEND_SPEED_LARGE(3)
751
752 CURLOPT_MAX_RECV_SPEED_LARGE
753 Cap the download speed to this. See CUR‐
754 LOPT_MAX_RECV_SPEED_LARGE(3)
755
756 CURLOPT_MAXCONNECTS
757 Maximum number of connections in the connection pool. See CUR‐
758 LOPT_MAXCONNECTS(3)
759
760 CURLOPT_FRESH_CONNECT
761 Use a new connection. CURLOPT_FRESH_CONNECT(3)
762
763 CURLOPT_FORBID_REUSE
764 Prevent subsequent connections from re-using this. See CUR‐
765 LOPT_FORBID_REUSE(3)
766
767 CURLOPT_MAXAGE_CONN
768 Limit the age (idle time) of connections for reuse. See CUR‐
769 LOPT_MAXAGE_CONN(3)
770
771 CURLOPT_MAXLIFETIME_CONN
772 Limit the age (since creation) of connections for reuse. See
773 CURLOPT_MAXLIFETIME_CONN(3)
774
775 CURLOPT_CONNECTTIMEOUT
776 Timeout for the connection phase. See CURLOPT_CONNECTTIMEOUT(3)
777
778 CURLOPT_CONNECTTIMEOUT_MS
779 Millisecond timeout for the connection phase. See CURLOPT_CON‐
780 NECTTIMEOUT_MS(3)
781
782 CURLOPT_IPRESOLVE
783 IP version to use. See CURLOPT_IPRESOLVE(3)
784
785 CURLOPT_CONNECT_ONLY
786 Only connect, nothing else. See CURLOPT_CONNECT_ONLY(3)
787
788 CURLOPT_USE_SSL
789 Use TLS/SSL. See CURLOPT_USE_SSL(3)
790
791 CURLOPT_RESOLVE
792 Provide fixed/fake name resolves. See CURLOPT_RESOLVE(3)
793
794 CURLOPT_DNS_INTERFACE
795 Bind name resolves to this interface. See CURLOPT_DNS_INTER‐
796 FACE(3)
797
798 CURLOPT_DNS_LOCAL_IP4
799 Bind name resolves to this IP4 address. See CURLOPT_DNS_LO‐
800 CAL_IP4(3)
801
802 CURLOPT_DNS_LOCAL_IP6
803 Bind name resolves to this IP6 address. See CURLOPT_DNS_LO‐
804 CAL_IP6(3)
805
806 CURLOPT_DNS_SERVERS
807 Preferred DNS servers. See CURLOPT_DNS_SERVERS(3)
808
809 CURLOPT_DNS_SHUFFLE_ADDRESSES
810 Shuffle addresses before use. See CURLOPT_DNS_SHUFFLE_AD‐
811 DRESSES(3)
812
813 CURLOPT_ACCEPTTIMEOUT_MS
814 Timeout for waiting for the server's connect back to be ac‐
815 cepted. See CURLOPT_ACCEPTTIMEOUT_MS(3)
816
817 CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS
818 Timeout for happy eyeballs. See CURLOPT_HAPPY_EYEBALLS_TIME‐
819 OUT_MS(3)
820
821 CURLOPT_UPKEEP_INTERVAL_MS
822 Sets the interval at which connection upkeep are performed. See
823 CURLOPT_UPKEEP_INTERVAL_MS(3)
824
826 CURLOPT_SSLCERT
827 Client cert. See CURLOPT_SSLCERT(3)
828
829 CURLOPT_SSLCERT_BLOB
830 Client cert memory buffer. See CURLOPT_SSLCERT_BLOB(3)
831
832 CURLOPT_PROXY_SSLCERT
833 Proxy client cert. See CURLOPT_PROXY_SSLCERT(3)
834
835 CURLOPT_PROXY_SSLCERT_BLOB
836 Proxy client cert memory buffer. See CUR‐
837 LOPT_PROXY_SSLCERT_BLOB(3)
838
839 CURLOPT_SSLCERTTYPE
840 Client cert type. See CURLOPT_SSLCERTTYPE(3)
841
842 CURLOPT_PROXY_SSLCERTTYPE
843 Proxy client cert type. See CURLOPT_PROXY_SSLCERTTYPE(3)
844
845 CURLOPT_SSLKEY
846 Client key. See CURLOPT_SSLKEY(3)
847
848 CURLOPT_SSLKEY_BLOB
849 Client key memory buffer. See CURLOPT_SSLKEY_BLOB(3)
850
851 CURLOPT_PROXY_SSLKEY
852 Proxy client key. See CURLOPT_PROXY_SSLKEY(3)
853
854 CURLOPT_PROXY_SSLKEY_BLOB
855 Proxy client key. See CURLOPT_PROXY_SSLKEY_BLOB(3)
856
857 CURLOPT_SSLKEYTYPE
858 Client key type. See CURLOPT_SSLKEYTYPE(3)
859
860 CURLOPT_PROXY_SSLKEYTYPE
861 Proxy client key type. See CURLOPT_PROXY_SSLKEYTYPE(3)
862
863 CURLOPT_KEYPASSWD
864 Client key password. See CURLOPT_KEYPASSWD(3)
865
866 CURLOPT_PROXY_KEYPASSWD
867 Proxy client key password. See CURLOPT_PROXY_KEYPASSWD(3)
868
869 CURLOPT_SSL_EC_CURVES
870 Set key exchange curves. See CURLOPT_SSL_EC_CURVES(3)
871
872 CURLOPT_SSL_ENABLE_ALPN
873 Enable use of ALPN. See CURLOPT_SSL_ENABLE_ALPN(3)
874
875 CURLOPT_SSL_ENABLE_NPN
876 OBSOLETE Enable use of NPN. See CURLOPT_SSL_ENABLE_NPN(3)
877
878 CURLOPT_SSLENGINE
879 Use identifier with SSL engine. See CURLOPT_SSLENGINE(3)
880
881 CURLOPT_SSLENGINE_DEFAULT
882 Default SSL engine. See CURLOPT_SSLENGINE_DEFAULT(3)
883
884 CURLOPT_SSL_FALSESTART
885 Enable TLS False Start. See CURLOPT_SSL_FALSESTART(3)
886
887 CURLOPT_SSLVERSION
888 SSL version to use. See CURLOPT_SSLVERSION(3)
889
890 CURLOPT_PROXY_SSLVERSION
891 Proxy SSL version to use. See CURLOPT_PROXY_SSLVERSION(3)
892
893 CURLOPT_SSL_VERIFYHOST
894 Verify the host name in the SSL certificate. See CUR‐
895 LOPT_SSL_VERIFYHOST(3)
896
897 CURLOPT_DOH_SSL_VERIFYHOST
898 Verify the host name in the DoH (DNS-over-HTTPS) SSL certifi‐
899 cate. See CURLOPT_DOH_SSL_VERIFYHOST(3)
900
901 CURLOPT_PROXY_SSL_VERIFYHOST
902 Verify the host name in the proxy SSL certificate. See CUR‐
903 LOPT_PROXY_SSL_VERIFYHOST(3)
904
905 CURLOPT_SSL_VERIFYPEER
906 Verify the SSL certificate. See CURLOPT_SSL_VERIFYPEER(3)
907
908 CURLOPT_DOH_SSL_VERIFYPEER
909 Verify the DoH (DNS-over-HTTPS) SSL certificate. See CUR‐
910 LOPT_DOH_SSL_VERIFYPEER(3)
911
912 CURLOPT_PROXY_SSL_VERIFYPEER
913 Verify the proxy SSL certificate. See CURLOPT_PROXY_SSL_VERI‐
914 FYPEER(3)
915
916 CURLOPT_SSL_VERIFYSTATUS
917 Verify the SSL certificate's status. See CURLOPT_SSL_VERIFYSTA‐
918 TUS(3)
919
920 CURLOPT_DOH_SSL_VERIFYSTATUS
921 Verify the DoH (DNS-over-HTTPS) SSL certificate's status. See
922 CURLOPT_DOH_SSL_VERIFYSTATUS(3)
923
924 CURLOPT_CAINFO
925 CA cert bundle. See CURLOPT_CAINFO(3)
926
927 CURLOPT_CAINFO_BLOB
928 CA cert bundle memory buffer. See CURLOPT_CAINFO_BLOB(3)
929
930 CURLOPT_PROXY_CAINFO
931 Proxy CA cert bundle. See CURLOPT_PROXY_CAINFO(3)
932
933 CURLOPT_PROXY_CAINFO_BLOB
934 Proxy CA cert bundle memory buffer. See CUR‐
935 LOPT_PROXY_CAINFO_BLOB(3)
936
937 CURLOPT_ISSUERCERT
938 Issuer certificate. See CURLOPT_ISSUERCERT(3)
939
940 CURLOPT_ISSUERCERT_BLOB
941 Issuer certificate memory buffer. See CURLOPT_ISSUERCERT_BLOB(3)
942
943 CURLOPT_PROXY_ISSUERCERT
944 Proxy issuer certificate. See CURLOPT_PROXY_ISSUERCERT(3)
945
946 CURLOPT_PROXY_ISSUERCERT_BLOB
947 Proxy issuer certificate memory buffer. See CURLOPT_PROXY_IS‐
948 SUERCERT_BLOB(3)
949
950 CURLOPT_CAPATH
951 Path to CA cert bundle. See CURLOPT_CAPATH(3)
952
953 CURLOPT_PROXY_CAPATH
954 Path to proxy CA cert bundle. See CURLOPT_PROXY_CAPATH(3)
955
956 CURLOPT_CRLFILE
957 Certificate Revocation List. See CURLOPT_CRLFILE(3)
958
959 CURLOPT_PROXY_CRLFILE
960 Proxy Certificate Revocation List. See CURLOPT_PROXY_CRLFILE(3)
961
962 CURLOPT_CA_CACHE_TIMEOUT
963 Timeout for CA cache. See CURLOPT_CA_CACHE_TIMEOUT(3)
964
965 CURLOPT_CERTINFO
966 Extract certificate info. See CURLOPT_CERTINFO(3)
967
968 CURLOPT_PINNEDPUBLICKEY
969 Set pinned SSL public key . See CURLOPT_PINNEDPUBLICKEY(3)
970
971 CURLOPT_PROXY_PINNEDPUBLICKEY
972 Set the proxy's pinned SSL public key. See CURLOPT_PROXY_PINNED‐
973 PUBLICKEY(3)
974
975 CURLOPT_RANDOM_FILE
976 OBSOLETE Provide source for entropy random data. See CUR‐
977 LOPT_RANDOM_FILE(3)
978
979 CURLOPT_EGDSOCKET
980 OBSOLETE Identify EGD socket for entropy. See CUR‐
981 LOPT_EGDSOCKET(3)
982
983 CURLOPT_SSL_CIPHER_LIST
984 Ciphers to use. See CURLOPT_SSL_CIPHER_LIST(3)
985
986 CURLOPT_PROXY_SSL_CIPHER_LIST
987 Proxy ciphers to use. See CURLOPT_PROXY_SSL_CIPHER_LIST(3)
988
989 CURLOPT_TLS13_CIPHERS
990 TLS 1.3 cipher suites to use. See CURLOPT_TLS13_CIPHERS(3)
991
992 CURLOPT_PROXY_TLS13_CIPHERS
993 Proxy TLS 1.3 cipher suites to use. See CURLOPT_PROXY_TLS13_CI‐
994 PHERS(3)
995
996 CURLOPT_SSL_SESSIONID_CACHE
997 Disable SSL session-id cache. See CURLOPT_SSL_SESSIONID_CACHE(3)
998
999 CURLOPT_SSL_OPTIONS
1000 Control SSL behavior. See CURLOPT_SSL_OPTIONS(3)
1001
1002 CURLOPT_PROXY_SSL_OPTIONS
1003 Control proxy SSL behavior. See CURLOPT_PROXY_SSL_OPTIONS(3)
1004
1005 CURLOPT_KRBLEVEL
1006 Kerberos security level. See CURLOPT_KRBLEVEL(3)
1007
1008 CURLOPT_GSSAPI_DELEGATION
1009 Disable GSS-API delegation. See CURLOPT_GSSAPI_DELEGATION(3)
1010
1012 CURLOPT_SSH_AUTH_TYPES
1013 SSH authentication types. See CURLOPT_SSH_AUTH_TYPES(3)
1014
1015 CURLOPT_SSH_COMPRESSION
1016 Enable SSH compression. See CURLOPT_SSH_COMPRESSION(3)
1017
1018 CURLOPT_SSH_HOST_PUBLIC_KEY_MD5
1019 MD5 of host's public key. See CURLOPT_SSH_HOST_PUBLIC_KEY_MD5(3)
1020
1021 CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256
1022 SHA256 of host's public key. See CURLOPT_SSH_HOST_PUB‐
1023 LIC_KEY_SHA256(3)
1024
1025 CURLOPT_SSH_PUBLIC_KEYFILE
1026 File name of public key. See CURLOPT_SSH_PUBLIC_KEYFILE(3)
1027
1028 CURLOPT_SSH_PRIVATE_KEYFILE
1029 File name of private key. See CURLOPT_SSH_PRIVATE_KEYFILE(3)
1030
1031 CURLOPT_SSH_KNOWNHOSTS
1032 File name with known hosts. See CURLOPT_SSH_KNOWNHOSTS(3)
1033
1034 CURLOPT_SSH_KEYFUNCTION
1035 Callback for known hosts handling. See CURLOPT_SSH_KEYFUNC‐
1036 TION(3)
1037
1038 CURLOPT_SSH_KEYDATA
1039 Custom pointer to pass to ssh key callback. See CURLOPT_SSH_KEY‐
1040 DATA(3)
1041
1042 CURLOPT_SSH_HOSTKEYFUNCTION
1043 Callback for checking host key handling. See CUR‐
1044 LOPT_SSH_HOSTKEYFUNCTION(3)
1045
1046 CURLOPT_SSH_HOSTKEYDATA
1047 Custom pointer to pass to ssh host key callback. See CUR‐
1048 LOPT_SSH_HOSTKEYDATA(3)
1049
1051 CURLOPT_WS_OPTIONS
1052 Set WebSocket options. See CURLOPT_WS_OPTIONS(3)
1053
1055 CURLOPT_PRIVATE
1056 Private pointer to store. See CURLOPT_PRIVATE(3)
1057
1058 CURLOPT_SHARE
1059 Share object to use. See CURLOPT_SHARE(3)
1060
1061 CURLOPT_NEW_FILE_PERMS
1062 Mode for creating new remote files. See CUR‐
1063 LOPT_NEW_FILE_PERMS(3)
1064
1065 CURLOPT_NEW_DIRECTORY_PERMS
1066 Mode for creating new remote directories. See CURLOPT_NEW_DIREC‐
1067 TORY_PERMS(3)
1068
1069 CURLOPT_QUICK_EXIT
1070 To be set by toplevel tools like "curl" to skip lengthy cleanups
1071 when they are about to call exit() anyway. See CUR‐
1072 LOPT_QUICK_EXIT(3)
1073
1075 CURLOPT_TELNETOPTIONS
1076 TELNET options. See CURLOPT_TELNETOPTIONS(3)
1077
1079 CURL *curl = curl_easy_init();
1080 if(curl) {
1081 CURLcode res;
1082 curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
1083 res = curl_easy_perform(curl);
1084 curl_easy_cleanup(curl);
1085 }
1086
1088 Always
1089
1091 CURLE_OK (zero) means that the option was set properly, non-zero means
1092 an error occurred as <curl/curl.h> defines. See the libcurl-errors(3)
1093 man page for the full list with descriptions.
1094
1095 Strings passed on to libcurl must be shorter than 8000000 bytes, other‐
1096 wise curl_easy_setopt(3) returns CURLE_BAD_FUNCTION_ARGUMENT (added in
1097 7.65.0).
1098
1099 CURLE_BAD_FUNCTION_ARGUMENT is returned when the argument to an option
1100 is invalid, like perhaps out of range.
1101
1102 If you try to set an option that libcurl does not know about, perhaps
1103 because the library is too old to support it or the option was removed
1104 in a recent version, this function will return CURLE_UNKNOWN_OPTION. If
1105 support for the option was disabled at compile-time, it will return
1106 CURLE_NOT_BUILT_IN.
1107
1109 curl_easy_init(3), curl_easy_cleanup(3), curl_easy_reset(3),
1110 curl_easy_getinfo(3), curl_multi_setopt(3), curl_easy_option_next(3),
1111 curl_easy_option_by_name(3), curl_easy_option_by_id(3),
1112
1113
1114
1115libcurl 8.0.1 January 02, 2023 curl_easy_setopt(3)