curl_easy_setopt.3 33 KB

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