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