protocols are either URL schemes (in uppercase), `TLS` or `TCP`.
If the `Protocol` list contains `TLS`, then there must also be a `TLS-backend`
-list, specifying `*` or a list of what TLS backends that work with this
+list, specifying `All` or a list of what TLS backends that work with this
option. The available TLS backends are:
- `BearSSL`
- curl_multi_cleanup (3)
- curl_multi_remove_handle (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_easy_reset (3)
- curl_global_init (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_easy_unescape (3)
- curl_free (3)
Protocol:
- - *
+ - All
---
# NAME
See-also:
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_global_init (3)
- curl_multi_init (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_easy_option_next (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_easy_option_next (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_easy_option_by_name (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_easy_cleanup (3)
- curl_easy_reset (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_multi_perform (3)
- libcurl-errors (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_easy_send (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_easy_init (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_easy_recv (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_easy_reset (3)
- curl_multi_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_url_strerror (3)
- libcurl-errors (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_easy_escape (3)
- curl_free (3)
Protocol:
- - *
+ - All
---
# NAME
- CURLOPT_TCP_KEEPALIVE (3)
- CURLOPT_TCP_KEEPIDLE (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_free (3)
- curl_unescape (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_easy_escape (3)
- curl_easy_unescape (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_easy_escape (3)
- curl_easy_unescape (3)
Protocol:
- - *
+ - All
---
# NAME
See-also:
- getenv (3C)
Protocol:
- - *
+ - All
---
# NAME
- libcurl (3)
- libcurl-thread (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_global_trace (3)
- libcurl (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_global_cleanup (3)
- curl_global_init (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_global_init (3)
- libcurl (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_global_init (3)
- libcurl (3)
Protocol:
- - *
+ - All
---
# NAME
- sprintf (3)
- vprintf (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_multi_setopt (3)
- curl_multi_socket_action (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_multi_setopt (3)
- curl_multi_socket_action (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_multi_get_handles (3)
- curl_multi_init (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_multi_wait (3)
- select (2)
Protocol:
- - *
+ - All
---
# NAME
- curl_multi_init (3)
- curl_multi_remove_handle (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_multi_init (3)
- curl_multi_perform (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_multi_cleanup (3)
- curl_multi_get_handles (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_multi_wait (3)
- libcurl-errors (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_multi_wait (3)
- curl_multi_wakeup (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_multi_cleanup (3)
- curl_multi_init (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_multi_init (3)
- curl_multi_socket (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_multi_init (3)
- the hiperfifo.c example
Protocol:
- - *
+ - All
---
# NAME
- curl_multi_init (3)
- the hiperfifo.c example
Protocol:
- - *
+ - All
---
# NAME
- curl_multi_init (3)
- the hiperfifo.c example
Protocol:
- - *
+ - All
---
# NAME
- curl_url_strerror (3)
- libcurl-errors (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_multi_setopt (3)
- curl_multi_socket (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_multi_perform (3)
- curl_multi_poll (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_multi_poll (3)
- curl_multi_wait (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_share_init (3)
- curl_share_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_share_cleanup (3)
- curl_share_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_share_cleanup (3)
- curl_share_init (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_url_strerror (3)
- libcurl-errors (3)
Protocol:
- - *
+ - All
---
# NAME
See-also:
- curl_slist_free_all (3)
Protocol:
- - *
+ - All
---
# NAME
See-also:
- curl_slist_append (3)
Protocol:
- - *
+ - All
---
# NAME
- strcasecmp (3)
- strcmp (3)
Protocol:
- - *
+ - All
---
# NAME
- strcasecmp (3)
- strcmp (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_easy_unescape (3)
- curl_free (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_url_set (3)
- curl_url_strerror (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_url_get (3)
- curl_url_set (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_url_get (3)
- curl_url_set (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_url_set (3)
- curl_url_strerror (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_url_get (3)
- curl_url_strerror (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_url_set (3)
- libcurl-errors (3)
Protocol:
- - *
+ - All
---
# NAME
See-also:
- curl_version_info (3)
Protocol:
- - *
+ - All
---
# NAME
See-also:
- curl_version (3)
Protocol:
- - *
+ - All
---
# NAME
- libcurl-errors (3)
- libcurl-multi (3)
Protocol:
- - *
+ - All
---
# NAME
See-also:
- libcurl-env (3)
Protocol:
- - *
+ - All
---
# NAME
See-also:
- libcurl-env-dbg (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_share_strerror (3)
- curl_url_strerror (3)
Protocol:
- - *
+ - All
---
# NAME
- libcurl-easy (3)
- libcurl-errors (3)
Protocol:
- - *
+ - All
---
# NAME
See-also:
- libcurl-thread (3)
Protocol:
- - *
+ - All
---
<!-- markdown-link-check-disable -->
# NAME
- libcurl-errors (3)
- libcurl-multi (3)
Protocol:
- - *
+ - All
---
# NAME
See-also:
- libcurl-security (3)
Protocol:
- - *
+ - All
---
# NAME
- libcurl-multi (3)
- libcurl-url (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_url_set (3)
- curl_url_strerror (3)
Protocol:
- - *
+ - All
---
# NAME
- curl_ws_recv (3)
- curl_ws_send (3)
Protocol:
- - *
+ - All
---
# NAME
- libcurl-security (3)
- libcurl-thread (3)
Protocol:
- - *
+ - All
---
# NAME
Section: 3
Source: libcurl
Protocol:
- - *
+ - All
See-also:
- libcurl (3)
- libcurl-easy (3)
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
CURLINFO_ACTIVESOCKET(3) was added as a replacement for
CURLINFO_LASTSOCKET(3) since that one is not working on all platforms.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
See also the TIMES overview in the curl_easy_getinfo(3) man page.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
See also the TIMES overview in the curl_easy_getinfo(3) man page.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
The **path** pointer is set to NULL if there is no default path.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
The **path** pointer is set to NULL if there is no default path.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
"Subject:Foo", "Issuer:Bar", etc. The items in each list varies depending on
the SSL backend and the certificate.
-# PROTOCOLS
-
-All TLS-based
-
# EXAMPLE
~~~c
the server responded with a 304 HTTP status code, for example after sending a
custom "If-Match-*" header.
-# PROTOCOLS
-
-HTTP and some
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
See also the TIMES overview in the curl_easy_getinfo(3) man page.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
See also the TIMES overview in the curl_easy_getinfo(3) man page.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
connection cache. This is implicitly the case for all connections in the
same multi handle.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
CURLINFO_CONTENT_LENGTH_DOWNLOAD_T(3) is a newer replacement that returns a more
sensible variable type.
-# PROTOCOLS
-
-HTTP(S)
-
# EXAMPLE
~~~c
download. This is the value read from the Content-Length: field. Stores -1 if
the size is not known.
-# PROTOCOLS
-
-HTTP(S)
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
CURLINFO_CONTENT_LENGTH_UPLOAD_T(3) is a newer replacement that returns a
more sensible variable type.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
Pass a pointer to a *curl_off_t* to receive the specified size of the
upload. Stores -1 if the size is not known.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
The modern way to get this header from a response is to instead use the
curl_easy_header(3) function.
-# PROTOCOLS
-
-HTTP(S)
-
# EXAMPLE
~~~c
Since 7.43.0 cookies that were imported in the Set-Cookie format without a
domain name are not exported by this option.
-# PROTOCOLS
-
-HTTP(S)
-
# EXAMPLE
~~~c
free - it gets freed when you call curl_easy_cleanup(3) on the
corresponding CURL handle.
-# PROTOCOLS
-
-HTTP(S)
-
# EXAMPLE
~~~c
- it gets freed when you call curl_easy_cleanup(3) on the corresponding
CURL handle.
-# PROTOCOLS
-
-HTTP(S)
-
# EXAMPLE
~~~c
Consider using CURLINFO_FILETIME_T(3) to be able to extract dates beyond
the year 2038 on systems using 32 bit longs (Windows).
-# PROTOCOLS
-
-HTTP(S), FTP(S), SFTP
-
# EXAMPLE
~~~c
with 32 bit long variables to extract dates outside of the 32bit timestamp
range.
-# PROTOCOLS
-
-HTTP(S), FTP(S), SFTP
-
# EXAMPLE
~~~c
- it gets freed when you call curl_easy_cleanup(3) on the corresponding
CURL handle.
-# PROTOCOLS
-
-FTP(S) and SFTP
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
The total includes the size of any received headers suppressed by
CURLOPT_SUPPRESS_CONNECT_HEADERS(3).
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
bits is explained in the CURLOPT_HTTPAUTH(3) option for
curl_easy_setopt(3).
-# PROTOCOLS
-
-HTTP(S)
-
# EXAMPLE
~~~c
to a CONNECT request. The returned value is zero if no such response code was
available.
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
CURL_HTTP_VERSION_1_0, CURL_HTTP_VERSION_1_1, CURL_HTTP_VERSION_2_0,
CURL_HTTP_VERSION_3 or 0 if the version cannot be determined.
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
type is 64 bits large while its 'long' is 32 bits. Use the
CURLINFO_ACTIVESOCKET(3) instead, if possible.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
it gets freed when you call curl_easy_cleanup(3) on the corresponding
CURL handle.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
Pass a pointer to a long to receive the local port number of the most recent
connection done with this **curl** handle.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
See also the TIMES overview in the curl_easy_getinfo(3) man page.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
See also the TIMES overview in the curl_easy_getinfo(3) man page.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
connection options of curl_easy_setopt(3) to see how libcurl tries to make
persistent connections to save time.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
Note that the value is only set on failure, it is not reset upon a successful
operation. The number is OS and system specific.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
See also the TIMES overview in the curl_easy_getinfo(3) man page.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
See also the TIMES overview in the curl_easy_getinfo(3) man page.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
it gets freed when you call curl_easy_cleanup(3) on the corresponding
CURL handle.
-# PROTOCOLS
-
-All network based ones
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
the proxy, if no proxy was used it is the port number of the most recently
accessed URL.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
Please note that for internal reasons, the value is returned as a char
pointer, although effectively being a 'void *'.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
CURLPROTO_SMTPS, CURLPROTO_TELNET, CURLPROTO_TFTP, CURLPROTO_MQTT
~~~
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
bits is explained in the CURLOPT_PROXYAUTH(3) option for
curl_easy_setopt(3).
-# PROTOCOLS
-
-HTTP(S)
-
# EXAMPLE
~~~c
- curl_easy_setopt (3)
- libcurl-errors (3)
Protocol:
- - *
+ - All
---
# NAME
The error code is zero (**CURLPX_OK**) if no response code was available.
-# PROTOCOLS
-
-All that can be done over SOCKS
-
# EXAMPLE
~~~c
that was requested (using the CURLOPT_PROXY_SSL_VERIFYPEER(3)
option. This is only used for HTTPS proxies.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
See also the TIMES overview in the curl_easy_getinfo(3) man page.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
Pass a pointer to a long to receive the total number of redirections that were
actually followed.
-# PROTOCOLS
-
-HTTP(S)
-
# EXAMPLE
~~~c
See also the TIMES overview in the curl_easy_getinfo(3) man page.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
See also the TIMES overview in the curl_easy_getinfo(3) man page.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
This URL is also set if the CURLOPT_MAXREDIRS(3) limit prevented a
redirect to happen (since 7.54.1).
-# PROTOCOLS
-
-HTTP(S)
-
# EXAMPLE
~~~c
it gets freed when you call curl_easy_cleanup(3) on the corresponding
CURL handle.
-# PROTOCOLS
-
-HTTP(S)
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
requests. This is so far only for HTTP requests. Note that this may be more
than one request if CURLOPT_FOLLOWLOCATION(3) is enabled.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
Note that a proxy's CONNECT response should be read with
CURLINFO_HTTP_CONNECTCODE(3) and not this.
-# PROTOCOLS
-
-HTTP, FTP, SMTP and LDAP
-
# EXAMPLE
~~~c
- CURLOPT_STDERR (3)
- curl_easy_header (3)
Protocol:
- - *
+ - All
---
# NAME
Returns zero delay if there was no header.
-# PROTOCOLS
-
-HTTP(S)
-
# EXAMPLE
~~~c
Pass a pointer to a long to receive the next CSeq that is expected to be used
by the application.
-# PROTOCOLS
-
-RTSP
-
# EXAMPLE
~~~c
may wish to troubleshoot and/or fix the CSeq mismatch by peeking at this
value.
-# PROTOCOLS
-
-RTSP
-
# EXAMPLE
~~~c
Applications wishing to resume an RTSP session on another connection should
retrieve this info before closing the active connection.
-# PROTOCOLS
-
-RTSP
-
# EXAMPLE
~~~c
it gets freed when you call curl_easy_cleanup(3) on the corresponding
CURL handle.
-# PROTOCOLS
-
-RTSP
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
free - it gets freed when you call curl_easy_cleanup(3) on the
corresponding CURL handle.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
CURLINFO_SIZE_DOWNLOAD_T(3) is a newer replacement that returns a more
sensible variable type.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
again for each new transfer. This counts actual payload data, what's also
commonly called body. All meta and header data is excluded from this amount.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
CURLINFO_SIZE_UPLOAD_T(3) is a newer replacement that returns a more
sensible variable type.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
Pass a pointer to a *curl_off_t* to receive the total amount of bytes that
were uploaded.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
CURLINFO_SPEED_DOWNLOAD_T(3) is a newer replacement that returns a more
sensible variable type.
-# PROTOCOLS
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
Pass a pointer to a *curl_off_t* to receive the average download speed
that curl measured for the complete download. Measured in bytes/second.
-# PROTOCOLS
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
CURLINFO_SPEED_UPLOAD_T(3) is a newer replacement that returns a more
sensible variable type.
-# PROTOCOLS
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
Pass a pointer to a *curl_off_t* to receive the average upload speed that
curl measured for the complete upload. Measured in bytes/second.
-# PROTOCOLS
-
# EXAMPLE
~~~c
on the list pointer once you are done with it, as libcurl does not free this
data for you.
-# PROTOCOLS
-
-All TLS based ones.
-
# EXAMPLE
~~~c
0 is a positive result. Non-zero is an error.
-# PROTOCOLS
-
-All using TLS
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
See also the TIMES overview in the curl_easy_getinfo(3) man page.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
See also the TIMES overview in the curl_easy_getinfo(3) man page.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
with older versions of libcurl use CURLINFO_TLS_SSL_PTR(3). Refer to
that document for more information.
-# PROTOCOLS
-
-All TLS-based
-
# EXAMPLE
~~~c
Please let us know by making a comment at
https://github.com/curl/curl/issues/685
-# PROTOCOLS
-
-All TLS-based
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
See also the TIMES overview in the curl_easy_getinfo(3) man page.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
See also the TIMES overview in the curl_easy_getinfo(3) man page.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
Pass a pointer to a long. It gets set to zero set if no proxy was used in the
previous transfer or a non-zero value if a proxy was used.
-# PROTOCOLS
-
-HTTP(S)
-
# EXAMPLE
~~~c
- curl_easy_getinfo (3)
- curl_easy_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
connection cache. This is implicitly the case for all transfers in the
same multi handle.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
The default value is 0, which means that the penalization is inactive.
-# PROTOCOLS
-
-HTTP(S)
-
# EXAMPLE
~~~c
The default value is 0, which means that the size penalization is inactive.
-# PROTOCOLS
-
-HTTP(S)
-
# EXAMPLE
~~~c
- CURLMOPT_MAX_HOST_CONNECTIONS (3)
- CURLOPT_MAXCONNECTS (3)
Protocol:
- - *
+ - All
---
# NAME
See DESCRIPTION
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
100
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLMOPT_MAXCONNECTS (3)
- CURLMOPT_MAX_TOTAL_CONNECTIONS (3)
Protocol:
- - *
+ - All
---
# NAME
0
-# PROTOCOLS
-
-HTTP(S)
-
# EXAMPLE
~~~c
- CURLMOPT_MAX_HOST_CONNECTIONS (3)
- CURLMOPT_PIPELINING (3)
Protocol:
- - *
+ - All
---
# NAME
5
-# PROTOCOLS
-
-HTTP(S)
-
# EXAMPLE
~~~c
- CURLMOPT_MAXCONNECTS (3)
- CURLMOPT_MAX_HOST_CONNECTIONS (3)
Protocol:
- - *
+ - All
---
# NAME
The default value is 0, which means that there is no limit. It is then simply
controlled by the number of easy handles added.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
Before that, default was **CURLPIPE_NOTHING**.
-# PROTOCOLS
-
-HTTP(S)
-
# EXAMPLE
~~~c
The default value is NULL, which means that there is no block list.
-# PROTOCOLS
-
# EXAMPLE
~~~c
The default value is NULL, which means that there is no block list.
-# PROTOCOLS
-
-HTTP(S)
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-HTTP(S)
-
# EXAMPLE
~~~c
NULL, no callback
-# PROTOCOLS
-
-HTTP(S) (HTTP/2 only)
-
# EXAMPLE
~~~c
- CURLMOPT_TIMERFUNCTION (3)
- curl_multi_socket_action (3)
Protocol:
- - *
+ - All
---
# NAME
NULL
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLMOPT_TIMERFUNCTION (3)
- curl_multi_socket_action (3)
Protocol:
- - *
+ - All
---
# NAME
NULL (no callback)
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLMOPT_SOCKETFUNCTION (3)
- CURLMOPT_TIMERFUNCTION (3)
Protocol:
- - *
+ - All
---
# NAME
NULL
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLMOPT_SOCKETFUNCTION (3)
- CURLMOPT_TIMERDATA (3)
Protocol:
- - *
+ - All
---
# NAME
NULL
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_UNIX_SOCKET_PATH (3)
- unix (7)
Protocol:
- - *
+ - All
---
# NAME
Default is NULL.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
60000 milliseconds
-# PROTOCOLS
-
-FTP
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
- CURLOPT_DEBUGFUNCTION (3)
- CURLOPT_STDERR (3)
Protocol:
- - *
+ - All
---
# NAME
0
-# PROTOCOLS
-
-All, when using IPv6
-
# EXAMPLE
~~~c
NULL. The alt-svc cache is not read nor written to file.
-# PROTOCOLS
-
-HTTPS
-
# EXAMPLE
~~~c
CURLALTSVC_H1 | CURLALTSVC_H2 | CURLALTSVC_H3 - the HTTP/2 and HTTP/3 bits are
only set if libcurl was built with support for those versions.
-# PROTOCOLS
-
-HTTPS
-
# EXAMPLE
~~~c
0 (disabled)
-# PROTOCOLS
-
-FTP
-
# EXAMPLE
~~~c
0, disabled
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
Calling CURLOPT_HTTPAUTH(3) with CURLAUTH_AWS_SIGV4 is the same
as calling this with **"aws:amz"** in parameter.
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
- CURLOPT_UPLOAD_BUFFERSIZE (3)
- CURLOPT_WRITEFUNCTION (3)
Protocol:
- - *
+ - All
---
# NAME
CURL_MAX_WRITE_SIZE (16kB)
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
Built-in system specific. When curl is built with Secure Transport or
Schannel, this option is not set by default.
-# PROTOCOLS
-
-All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
-
# EXAMPLE
~~~c
A default path detected at build time.
-# PROTOCOLS
-
-All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
-
# EXAMPLE
~~~c
86400 (24 hours)
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
0
-# PROTOCOLS
-
-All TLS-based
-
# EXAMPLE
~~~c
# AVAILABILITY
-This option is supported by the OpenSSL, GnuTLS, Schannel and Secure
-Transport backends. Schannel support added in 7.50.0. Secure Transport support
-added in 7.79.0.
+Schannel support added in 7.50.0. Secure Transport support added in 7.79.0.
# RETURN VALUE
NULL
-# PROTOCOLS
-
-FTP
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-FTP
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-FTP
-
# EXAMPLE
~~~c
- CURLOPT_CLOSESOCKETFUNCTION (3)
- CURLOPT_OPENSOCKETFUNCTION (3)
Protocol:
- - *
+ - All
---
# NAME
The default value of this parameter is NULL.
-# PROTOCOLS
-
-All except file:
-
# EXAMPLE
~~~c
- CURLOPT_CLOSESOCKETDATA (3)
- CURLOPT_OPENSOCKETFUNCTION (3)
Protocol:
- - *
+ - All
---
# NAME
By default libcurl uses the standard socket close function.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_MAX_RECV_SPEED_LARGE (3)
- CURLOPT_TIMEOUT (3)
Protocol:
- - *
+ - All
---
# NAME
300
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_LOW_SPEED_LIMIT (3)
- CURLOPT_TIMEOUT (3)
Protocol:
- - *
+ - All
---
# NAME
300000
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_easy_recv (3)
- curl_easy_send (3)
Protocol:
- - *
+ - All
---
# NAME
0
-# PROTOCOLS
-
-HTTP, SMTP, POP3 and IMAP. For WS and WSS starting in 7.86.0.
-
# EXAMPLE
~~~c
# AVAILABILITY
-Added in 7.15.2
+Added in 7.15.2. WS and WSS support added in 7.86.0.
# RETURN VALUE
- CURLOPT_RESOLVE (3)
- CURLOPT_URL (3)
Protocol:
- - *
+ - All
---
# NAME
NULL
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_CONV_FROM_UTF8_FUNCTION (3)
- CURLOPT_CONV_TO_NETWORK_FUNCTION (3)
Protocol:
- - *
+ - All
---
# NAME
NULL
-# PROTOCOLS
-
-FTP, SMTP, IMAP, POP3
-
# EXAMPLE
~~~c
Section: 3
Source: libcurl
Protocol:
- - *
+ - All
See-also:
- CURLOPT_CONV_FROM_NETWORK_FUNCTION (3)
- CURLOPT_CONV_TO_NETWORK_FUNCTION (3)
NULL
-# PROTOCOLS
-
-TLS-based protocols.
-
# EXAMPLE
~~~c
- CURLOPT_CONV_FROM_NETWORK_FUNCTION (3)
- CURLOPT_CONV_FROM_UTF8_FUNCTION (3)
Protocol:
- - *
+ - All
---
# NAME
NULL
-# PROTOCOLS
-
-FTP, SMTP, IMAP, POP3
-
# EXAMPLE
~~~c
NULL, no cookies
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
0
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-HTTP(S)
-
# EXAMPLE
~~~c
- CURLOPT_CONV_FROM_NETWORK_FUNCTION (3)
- CURLOPT_CONV_TO_NETWORK_FUNCTION (3)
Protocol:
- - *
+ - All
---
# NAME
0
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-All TLS-based protocols
-
# EXAMPLE
~~~c
- curl_url_set (3)
- curl_url_strerror (3)
Protocol:
- - *
+ - All
---
# NAME
The default value of this parameter is NULL.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-HTTP, FTP, IMAP, POP3 and SMTP
-
# EXAMPLE
~~~c
- CURLOPT_DEBUGFUNCTION (3)
- CURLOPT_STDERR (3)
Protocol:
- - *
+ - All
---
# NAME
NULL
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_VERBOSE (3)
- curl_global_trace (3)
Protocol:
- - *
+ - All
---
# NAME
NULL
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLINFO_SCHEME (3)
- CURLOPT_URL (3)
Protocol:
- - *
+ - All
---
# NAME
NULL (make a guess based on the host)
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
0, disabled
-# PROTOCOLS
-
-FTP, SFTP and POP3
-
# EXAMPLE
~~~c
- curl_url_set (3)
- libcurl-security (3)
Protocol:
- - *
+ - All
---
# NAME
0 (disabled) - usernames are allowed by default.
-# PROTOCOLS
-
-Several
-
# EXAMPLE
~~~c
- CURLOPT_MAXAGE_CONN (3)
- CURLOPT_RESOLVE (3)
Protocol:
- - *
+ - All
---
# NAME
60
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_DNS_SERVERS (3)
- CURLOPT_INTERFACE (3)
Protocol:
- - *
+ - All
---
# NAME
NULL
-# PROTOCOLS
-
-All protocols except file:// - protocols that resolve hostnames.
-
# EXAMPLE
~~~c
- CURLOPT_DNS_LOCAL_IP6 (3)
- CURLOPT_DNS_SERVERS (3)
Protocol:
- - *
+ - All
---
# NAME
NULL
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_DNS_LOCAL_IP4 (3)
- CURLOPT_DNS_SERVERS (3)
Protocol:
- - *
+ - All
---
# NAME
NULL
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_DNS_LOCAL_IP4 (3)
- CURLOPT_DNS_LOCAL_IP6 (3)
Protocol:
- - *
+ - All
---
# NAME
NULL - use system default
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_DNS_CACHE_TIMEOUT (3)
- CURLOPT_IPRESOLVE (3)
Protocol:
- - *
+ - All
---
# NAME
0 (disabled)
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_DNS_CACHE_TIMEOUT (3)
- CURLOPT_SHARE (3)
Protocol:
- - *
+ - All
---
# NAME
cache that survives between easy handle creations and deletions. This is not
thread-safe and this uses a global variable.
-See CURLOPT_SHARE(3) and curl_share_init(3) for the correct way to
-share DNS cache between transfers.
+See CURLOPT_SHARE(3) and curl_share_init(3) for the correct way to share DNS
+cache between transfers.
# DEFAULT
0
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
2
-# PROTOCOLS
-
-DoH
-
# EXAMPLE
~~~c
1
-# PROTOCOLS
-
-DoH
-
# EXAMPLE
~~~c
0
-# PROTOCOLS
-
-DoH
-
# EXAMPLE
~~~c
# AVAILABILITY
-Added in 7.76.0. This option is currently only supported by the OpenSSL, and
-GnuTLS TLS backends.
+Added in 7.76.0.
# RETURN VALUE
- CURLOPT_RESOLVE (3)
- CURLOPT_VERBOSE (3)
Protocol:
- - *
+ - All
---
# NAME
NULL - there is no default DoH URL. If this option is not set, libcurl uses
the default name resolver.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
-
# EXAMPLE
~~~c
# AVAILABILITY
-If built with TLS enabled. Only the OpenSSL backend uses this, and only with
-OpenSSL versions before 1.1.0.
+Only with OpenSSL versions before 1.1.0.
This option was deprecated in 7.84.0.
- curl_share_strerror (3)
- curl_url_strerror (3)
Protocol:
- - *
+ - All
---
# NAME
NULL
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
1000 milliseconds
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
0, do not fail on error
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
0
-# PROTOCOLS
-
-HTTP(S), FTP(S), SFTP, FILE, SMB(S)
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-FTP
-
# EXAMPLE
~~~c
NULL == an internal function for wildcard matching.
-# PROTOCOLS
-
-FTP
-
# EXAMPLE
~~~c
0, disabled
-# PROTOCOLS
-
-HTTP(S)
-
# EXAMPLE
~~~c
- CURLOPT_MAXCONNECTS (3)
- CURLOPT_MAXLIFETIME_CONN (3)
Protocol:
- - *
+ - All
---
# NAME
0
-# PROTOCOLS
-
-Most
-
# EXAMPLE
~~~c
Section: 3
Source: libcurl
Protocol:
- - *
+ - All
See-also:
- CURLOPT_FORBID_REUSE (3)
- CURLOPT_MAXAGE_CONN (3)
0
-# PROTOCOLS
-
-Most
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-FTP
-
# EXAMPLE
~~~c
CURLFTPAUTH_DEFAULT
-# PROTOCOLS
-
-FTP
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-FTP
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-FTP
-
# EXAMPLE
~~~c
CURLFTP_CREATE_DIR_NONE (0)
-# PROTOCOLS
-
-FTP and SFTP
-
# EXAMPLE
~~~c
CURLFTPMETHOD_MULTICWD
-# PROTOCOLS
-
-FTP
-
# EXAMPLE
~~~c
1 since 7.74.0, was 0 before then.
-# PROTOCOLS
-
-FTP
-
# EXAMPLE
~~~c
CURLFTPSSL_CCC_NONE
-# PROTOCOLS
-
-FTP
-
# EXAMPLE
~~~c
# DEFAULT
-# PROTOCOLS
-
# EXAMPLE
~~~c
1
-# PROTOCOLS
-
-FTP
-
# EXAMPLE
~~~c
0
-# PROTOCOLS
-
-FTP
-
# EXAMPLE
~~~c
CURLGSSAPI_DELEGATION_NONE
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
Section: 3
Source: libcurl
Protocol:
- - *
+ - All
See-also:
- CURLOPT_CONNECTTIMEOUT_MS (3)
- CURLOPT_LOW_SPEED_LIMIT (3)
CURL_HET_DEFAULT (currently defined as 200L)
-# PROTOCOLS
-
-All except FILE
-
# EXAMPLE
~~~c
See-also:
- CURLOPT_PROXY (3)
Protocol:
- - *
+ - All
---
# NAME
0, do not send any HAProxy PROXY protocol header
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
Section: 3
Source: libcurl
Protocol:
- - *
+ - All
See-also:
- CURLOPT_HAPROXYPROTOCOL (3)
- CURLOPT_PROXY (3)
NULL, no HAProxy header is sent
-# PROTOCOLS
-
-HTTP, HAProxy PROTOCOL
-
# EXAMPLE
~~~c
0
-# PROTOCOLS
-
-Most
-
# EXAMPLE
~~~c
- CURLOPT_WRITEFUNCTION (3)
- curl_easy_header (3)
Protocol:
- - *
+ - All
---
# NAME
NULL
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
Nothing.
-# PROTOCOLS
-
-Used for all protocols with headers or meta-data concept: HTTP, FTP, POP3,
-IMAP, SMTP and more.
-
# EXAMPLE
~~~c
CURLHEADER_SEPARATE (changed in 7.42.1, used CURLHEADER_UNIFIED before then)
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
NULL, no filename
-# PROTOCOLS
-
-HTTPS and HTTP
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-This feature is only used for HTTP(S) transfer.
-
# EXAMPLE
~~~c
NULL - no callback.
-# PROTOCOLS
-
-This feature is only used for HTTP(S) transfer.
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-This feature is only used for HTTP(S) transfer.
-
# EXAMPLE
~~~c
NULL - no callback.
-# PROTOCOLS
-
-This feature is only used for HTTP(S) transfer.
-
# EXAMPLE
~~~c
0. HSTS is disabled by default.
-# PROTOCOLS
-
-HTTPS and HTTP
-
# EXAMPLE
~~~c
Since 7.66.0, libcurl requires this option set to 1L to allow HTTP/0.9
responses.
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
CURLAUTH_BASIC
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
0
-# PROTOCOLS
-
-HTTP(S)
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-HTTP, IMAP and SMTP
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
Section: 3
Source: libcurl
Protocol:
- - *
+ - All
See-also:
- CURLOPT_PROXY (3)
- CURLOPT_PROXYPORT (3)
0
-# PROTOCOLS
-
-All network protocols
-
# EXAMPLE
~~~c
1
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
1
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
Before that: CURL_HTTP_VERSION_1_1
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
0
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
- CURLOPT_INFILESIZE_LARGE (3)
- CURLOPT_UPLOAD (3)
Protocol:
- - *
+ - All
---
# NAME
Unset
-# PROTOCOLS
-
-Many
-
# EXAMPLE
~~~c
- CURLOPT_INFILESIZE (3)
- CURLOPT_UPLOAD (3)
Protocol:
- - *
+ - All
---
# NAME
Unset
-# PROTOCOLS
-
-Many
-
# EXAMPLE
~~~c
Section: 3
Source: libcurl
Protocol:
- - *
+ - All
See-also:
- CURLOPT_SOCKOPTFUNCTION (3)
- CURLOPT_TCP_NODELAY (3)
NULL, use whatever the TCP stack finds suitable
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-RTSP
-
# EXAMPLE
~~~c
NULL, the interleave data is then passed to the regular write function:
CURLOPT_WRITEFUNCTION(3).
-# PROTOCOLS
-
-RTSP
-
# EXAMPLE
~~~c
- CURLOPT_IOCTLFUNCTION (3)
- CURLOPT_SEEKFUNCTION (3)
Protocol:
- - *
+ - All
---
# NAME
By default, the value of this parameter is NULL.
-# PROTOCOLS
-
-Used with HTTP
-
# EXAMPLE
~~~c
Section: 3
Source: libcurl
Protocol:
- - *
+ - All
See-also:
- CURLOPT_IOCTLDATA (3)
- CURLOPT_SEEKFUNCTION (3)
By default, this parameter is set to NULL. Not used.
-# PROTOCOLS
-
-Used with HTTP
-
# EXAMPLE
~~~c
- CURLOPT_RESOLVE (3)
- CURLOPT_SSLVERSION (3)
Protocol:
- - *
+ - All
---
# NAME
CURL_IPRESOLVE_WHATEVER
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-All TLS-based protocols
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-All TLS-based protocols
-
# EXAMPLE
~~~c
0, stop sending on error
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-FTP
-
# EXAMPLE
~~~c
- CURLOPT_INTERFACE (3)
- CURLOPT_LOCALPORTRANGE (3)
Protocol:
- - *
+ - All
---
# NAME
0, disabled - use whatever the system thinks is fine
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_INTERFACE (3)
- CURLOPT_LOCALPORT (3)
Protocol:
- - *
+ - All
---
# NAME
1
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-Only IMAP, LDAP, POP3 and SMTP support login options.
-
# EXAMPLE
~~~c
- CURLOPT_MAX_SEND_SPEED_LARGE (3)
- CURLOPT_TIMEOUT (3)
Protocol:
- - *
+ - All
---
# NAME
0, disabled
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_LOW_SPEED_LIMIT (3)
- CURLOPT_TIMEOUT (3)
Protocol:
- - *
+ - All
---
# NAME
0, disabled
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-SMTP
-
# EXAMPLE
~~~c
blank
-# PROTOCOLS
-
-SMTP
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-SMTP
-
# EXAMPLE
~~~c
0
-# PROTOCOLS
-
-SMTP
-
# EXAMPLE
~~~c
- CURLOPT_MAXLIFETIME_CONN (3)
- CURLOPT_TIMEOUT (3)
Protocol:
- - *
+ - All
---
# NAME
Default maximum age is set to 118 seconds.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLMOPT_MAX_TOTAL_CONNECTIONS (3)
- CURLOPT_MAXREDIRS (3)
Protocol:
- - *
+ - All
---
# NAME
5
-# PROTOCOLS
-
-Most
-
# EXAMPLE
~~~c
- CURLOPT_MAXFILESIZE_LARGE (3)
- CURLOPT_MAX_RECV_SPEED_LARGE (3)
Protocol:
- - *
+ - All
---
# NAME
None
-# PROTOCOLS
-
-FTP, HTTP and MQTT
-
# EXAMPLE
~~~c
None
-# PROTOCOLS
-
-FTP, HTTP and MQTT
-
# EXAMPLE
~~~c
- CURLOPT_MAXAGE_CONN (3)
- CURLOPT_TIMEOUT (3)
Protocol:
- - *
+ - All
---
# NAME
Default *maxlifetime* is 0 seconds (i.e., disabled).
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
30 (since 8.3.0), it was previously unlimited.
-# PROTOCOLS
-
-HTTP(S)
-
# EXAMPLE
~~~c
- CURLOPT_MAX_SEND_SPEED_LARGE (3)
- CURLOPT_TIMEOUT (3)
Protocol:
- - *
+ - All
---
# NAME
0, disabled
-# PROTOCOLS
-
-All but file://
-
# EXAMPLE
~~~c
- CURLOPT_LOW_SPEED_LIMIT (3)
- CURLOPT_MAX_RECV_SPEED_LARGE (3)
Protocol:
- - *
+ - All
---
# NAME
0, disabled
-# PROTOCOLS
-
-All except file://
-
# EXAMPLE
~~~c
type for HTTP to the default to disable the POST. Typically that would mean it
is reset to GET. Instead you should set a desired request method explicitly.
-# PROTOCOLS
-
-HTTP, SMTP, IMAP.
-
# EXAMPLE
~~~c
0, meaning disabled.
-# PROTOCOLS
-
-HTTP, IMAP, SMTP
-
# EXAMPLE
~~~c
- CURLOPT_USERNAME (3)
- CURLOPT_USERPWD (3)
Protocol:
- - *
+ - All
---
# NAME
CURL_NETRC_IGNORED
-# PROTOCOLS
-
-Most
-
# EXAMPLE
~~~c
- CURLOPT_PASSWORD (3)
- CURLOPT_USERNAME (3)
Protocol:
- - *
+ - All
---
# NAME
NULL
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
0755
-# PROTOCOLS
-
-SFTP, SCP and FILE
-
# EXAMPLE
~~~c
0644
-# PROTOCOLS
-
-SFTP, SCP and FILE
-
# EXAMPLE
~~~c
- CURLOPT_REQUEST_TARGET (3)
- CURLOPT_UPLOAD (3)
Protocol:
- - *
+ - All
---
# NAME
0, the body is transferred
-# PROTOCOLS
-
-Most
-
# EXAMPLE
~~~c
- CURLOPT_VERBOSE (3)
- CURLOPT_XFERINFOFUNCTION (3)
Protocol:
- - *
+ - All
---
# NAME
1, meaning it normally runs without a progress meter.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
Section: 3
Source: libcurl
Protocol:
- - *
+ - All
See-also:
- CURLOPT_PROXY (3)
- CURLOPT_PROXYAUTH (3)
NULL
-# PROTOCOLS
-
-Most
-
# EXAMPLE
~~~c
See-also:
- CURLOPT_TIMEOUT (3)
Protocol:
- - *
+ - All
---
# NAME
0
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_OPENSOCKETFUNCTION (3)
- CURLOPT_SOCKOPTFUNCTION (3)
Protocol:
- - *
+ - All
---
# NAME
The default value of this parameter is NULL.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_OPENSOCKETFUNCTION (3)
- CURLOPT_SOCKOPTFUNCTION (3)
Protocol:
- - *
+ - All
---
# NAME
return socket(addr->family, addr->socktype, addr->protocol);
~~~
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_USERNAME (3)
- CURLOPT_USERPWD (3)
Protocol:
- - *
+ - All
---
# NAME
blank
-# PROTOCOLS
-
-Most
-
# EXAMPLE
~~~c
- CURLOPT_URL (3)
- curl_url_set (3)
Protocol:
- - *
+ - All
---
# NAME
0
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
-
# EXAMPLE
~~~c
0 (off)
-# PROTOCOLS
-
-HTTP(S)
-
# EXAMPLE
~~~c
- CURLOPT_STDERR (3)
- CURLOPT_URL (3)
Protocol:
- - *
+ - All
---
# NAME
By default this is 0 which makes it not used. This also makes port number zero
impossible to set with this API.
-# PROTOCOLS
-
-Used for all protocols that speak to a port number.
-
# EXAMPLE
~~~c
0, disabled
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
-1
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
-1
-# PROTOCOLS
-
-HTTP(S)
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-SFTP and FTP
-
# EXAMPLE
~~~c
0
-# PROTOCOLS
-
-HTTP(S)
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-FTP
-
# EXAMPLE
~~~c
- CURLINFO_PRIMARY_PORT (3)
- CURLOPT_PREREQFUNCTION (3)
Protocol:
- - *
+ - All
---
# NAME
NULL
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLINFO_PRIMARY_PORT (3)
- CURLOPT_PREREQDATA (3)
Protocol:
- - *
+ - All
---
# NAME
By default, this is NULL and unused.
-# PROTOCOLS
-
-ALL
-
# EXAMPLE
~~~c
- CURLOPT_HTTPPROXYTUNNEL (3)
- CURLOPT_PROXY (3)
Protocol:
- - *
+ - All
---
# NAME
When you set a hostname to use, do not assume that there is any particular
single port number used widely for proxies. Specify it!
-# PROTOCOLS
-
-All except file://. Note that some protocols do not work well over proxy.
-
# EXAMPLE
~~~c
- CURLOPT_STDERR (3)
- CURLOPT_VERBOSE (3)
Protocol:
- - *
+ - All
---
# NAME
NULL
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_PROGRESSFUNCTION (3)
- CURLOPT_XFERINFOFUNCTION (3)
Protocol:
- - *
+ - All
---
# NAME
The default value of this parameter is NULL.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_VERBOSE (3)
- CURLOPT_XFERINFOFUNCTION (3)
Protocol:
- - *
+ - All
---
# NAME
By default, libcurl has an internal progress meter. That is rarely wanted by
users.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_REDIR_PROTOCOLS (3)
- CURLOPT_URL (3)
Protocol:
- - *
+ - All
---
# NAME
All protocols built-in.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_URL (3)
- curl_version_info (3)
Protocol:
- - *
+ - All
---
# NAME
All protocols built-in
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_PROXYPORT (3)
- CURLOPT_PROXYTYPE (3)
Protocol:
- - *
+ - All
---
# NAME
When you set a hostname to use, do not assume that there is any particular
single port number used widely for proxies. Specify it!
-# PROTOCOLS
-
-All except file://. Note that some protocols do not work well over proxy.
-
# EXAMPLE
~~~c
- CURLOPT_PROXYTYPE (3)
- CURLOPT_PROXYUSERPWD (3)
Protocol:
- - *
+ - All
---
# NAME
CURLAUTH_BASIC
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
- CURLOPT_HEADEROPT (3)
- CURLOPT_HTTPHEADER (3)
Protocol:
- - *
+ - All
---
# NAME
NULL
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
- CURLOPT_PROXYAUTH (3)
- CURLOPT_PROXYUSERNAME (3)
Protocol:
- - *
+ - All
---
# NAME
blank
-# PROTOCOLS
-
-Most
-
# EXAMPLE
~~~c
- CURLOPT_PROXY (3)
- CURLOPT_PROXYTYPE (3)
Protocol:
- - *
+ - All
---
# NAME
0, not specified which makes it use the default port
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_PROXY (3)
- CURLOPT_PROXYPORT (3)
Protocol:
- - *
+ - All
---
# NAME
CURLPROXY_HTTP
-# PROTOCOLS
-
-Most
-
# EXAMPLE
~~~c
- CURLOPT_PROXYPASSWORD (3)
- CURLOPT_USERNAME (3)
Protocol:
- - *
+ - All
---
# NAME
blank
-# PROTOCOLS
-
-Most
-
# EXAMPLE
~~~c
- CURLOPT_PROXYTYPE (3)
- CURLOPT_PROXYUSERNAME (3)
Protocol:
- - *
+ - All
---
# NAME
This is NULL by default.
-# PROTOCOLS
-
-Used with all protocols that can use a proxy
-
# EXAMPLE
~~~c
Built-in system specific
-# PROTOCOLS
-
-Used with HTTPS proxy
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-Used with HTTPS proxy
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-Everything used over an HTTPS proxy
-
# EXAMPLE
~~~c
Added in 7.52.0
-This option is supported by the OpenSSL, GnuTLS, and mbedTLS (since 7.56.0)
-backends.
+mbedTLS support added in 7.56.0.
# RETURN VALUE
NULL
-# PROTOCOLS
-
-Used with HTTPS proxy.
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-All TLS-based protocols
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-All TLS-based protocols
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-Used with HTTPS proxy
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
-
# EXAMPLE
~~~c
- CURLOPT_PROXYTYPE (3)
- CURLOPT_SERVICE_NAME (3)
Protocol:
- - *
+ - All
---
# NAME
See above
-# PROTOCOLS
-
-All network protocols
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-Used with HTTPS proxy
-
# EXAMPLE
~~~c
"PEM"
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-Used with HTTPS proxy
-
# EXAMPLE
~~~c
# AVAILABILITY
-Added in 7.71.0. This option is supported by the OpenSSL, Secure Transport and
-Schannel backends.
+Added in 7.71.0.
# RETURN VALUE
NULL
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
The application does not have to keep the string around after setting this
option.
-# PROTOCOLS
-
-Used with HTTPS proxy
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
-
# EXAMPLE
~~~c
CURL_SSLVERSION_DEFAULT
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
NULL, use internal default
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
0
-# PROTOCOLS
-
-All TLS-based protocols
-
# EXAMPLE
~~~c
2
-# PROTOCOLS
-
-All protocols when used over an HTTPS proxy.
-
# EXAMPLE
~~~c
1
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
NULL, use internal default
-# PROTOCOLS
-
-All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
# AVAILABILITY
-Added in 7.52.0, with the OpenSSL and GnuTLS backends only
+Added in 7.52.0.
# RETURN VALUE
blank
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
# AVAILABILITY
-Added in 7.52.0, with the OpenSSL and GnuTLS backends only.
+Added in 7.52.0.
# RETURN VALUE
- CURLOPT_PROXY (3)
- CURLOPT_TRANSFERTEXT (3)
Protocol:
- - *
+ - All
---
# NAME
0, disabled
-# PROTOCOLS
-
-FTP over proxy
-
# EXAMPLE
~~~c
0, disabled
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
- CURLOPT_FAILONERROR (3)
- CURLOPT_RESOLVE (3)
Protocol:
- - *
+ - All
---
# NAME
0
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-SFTP and FTP
-
# EXAMPLE
~~~c
NULL, not used
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
# AVAILABILITY
-If built with TLS enabled. Only the OpenSSL backend uses this, and only with
-OpenSSL versions before 1.1.0.
+Only with OpenSSL versions before 1.1.0.
This option was deprecated in 7.84.0.
NULL
-# PROTOCOLS
-
-HTTP, FTP, FILE, RTSP and SFTP.
-
# EXAMPLE
~~~c
- CURLOPT_WRITEDATA (3)
- CURLOPT_WRITEFUNCTION (3)
Protocol:
- - *
+ - All
---
# NAME
By default, this is a FILE * to stdin.
-# PROTOCOLS
-
-This is used for all protocols when sending data.
-
# EXAMPLE
~~~c
- CURLOPT_UPLOAD_BUFFERSIZE (3)
- CURLOPT_WRITEFUNCTION (3)
Protocol:
- - *
+ - All
---
# NAME
The default internal read callback is fread().
-# PROTOCOLS
-
-This is used for all protocols when doing uploads.
-
# EXAMPLE
~~~c
Older versions defaulted to all protocols except FILE, SCP and since 7.40.0
SMB and SMBS.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
Older versions defaulted to all protocols except FILE, SCP and since 7.40.0
SMB and SMBS.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
- CURLOPT_DNS_CACHE_TIMEOUT (3)
- CURLOPT_IPRESOLVE (3)
Protocol:
- - *
+ - All
---
# NAME
NULL
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_PREREQFUNCTION (3)
- CURLOPT_RESOLVER_START_FUNCTION (3)
Protocol:
- - *
+ - All
---
# NAME
NULL
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_PREREQFUNCTION (3)
- CURLOPT_RESOLVER_START_DATA (3)
Protocol:
- - *
+ - All
---
# NAME
NULL (No callback)
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_RANGE (3)
- CURLOPT_RESUME_FROM_LARGE (3)
Protocol:
- - *
+ - All
---
# NAME
0, not used
-# PROTOCOLS
-
-HTTP, FTP, SFTP, FILE
-
# EXAMPLE
~~~c
- CURLOPT_RANGE (3)
- CURLOPT_RESUME_FROM (3)
Protocol:
- - *
+ - All
---
# NAME
0, not used
-# PROTOCOLS
-
-HTTP, FTP, SFTP, FILE
-
# EXAMPLE
~~~c
0
-# PROTOCOLS
-
-RTSP
-
# EXAMPLE
~~~c
# DEFAULT
-# PROTOCOLS
-
-RTSP
-
# EXAMPLE
~~~c
0
-# PROTOCOLS
-
-RTSP
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-RTSP
-
# EXAMPLE
~~~c
"*"
-# PROTOCOLS
-
-RTSP
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-RTSP
-
# EXAMPLE
~~~c
blank
-# PROTOCOLS
-
-IMAP, LDAP, POP3 and SMTP
-
# EXAMPLE
~~~c
0
-# PROTOCOLS
-
-IMAP, POP3 and SMTP
-
# EXAMPLE
~~~c
- CURLOPT_SEEKFUNCTION (3)
- CURLOPT_STDERR (3)
Protocol:
- - *
+ - All
---
# NAME
If you do not set this, NULL is passed to the callback.
-# PROTOCOLS
-
-HTTP, FTP, SFTP
-
# EXAMPLE
~~~c
- CURLOPT_SEEKDATA (3)
- CURLOPT_STDERR (3)
Protocol:
- - *
+ - All
---
# NAME
By default, this is NULL and unused.
-# PROTOCOLS
-
-HTTP, FTP, SFTP
-
# EXAMPLE
~~~c
None
-# PROTOCOLS
-
-FTP, IMAP, POP3, SMTP, and SSH
-
# EXAMPLE
~~~c
None
-# PROTOCOLS
-
-FTP, IMAP, POP3, SMTP, and SSH
-
# EXAMPLE
~~~c
- CURLOPT_PROXYTYPE (3)
- CURLOPT_PROXY_SERVICE_NAME (3)
Protocol:
- - *
+ - HTTP
+ - FTP
+ - IMAP
+ - POP3
+ - SMTP
+ - LDAP
---
# NAME
See above
-# PROTOCOLS
-
-HTTP, FTP, IMAP, LDAP, POP3 and SMTP
-
# EXAMPLE
~~~c
- CURLOPT_COOKIE (3)
- CURLSHOPT_SHARE (3)
Protocol:
- - *
+ - All
---
# NAME
NULL
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_OPENSOCKETFUNCTION (3)
- CURLOPT_SOCKOPTFUNCTION (3)
Protocol:
- - *
+ - All
---
# NAME
The default value of this parameter is NULL.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_SEEKFUNCTION (3)
- CURLOPT_SOCKOPTDATA (3)
Protocol:
- - *
+ - All
---
# NAME
By default, this callback is NULL and unused.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_PROXY (3)
- CURLOPT_PROXYTYPE (3)
Protocol:
- - *
+ - All
---
# NAME
CURLAUTH_BASIC|CURLAUTH_GSSAPI
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_PROXY (3)
- CURLOPT_SOCKS5_GSSAPI_SERVICE (3)
Protocol:
- - *
+ - All
---
# NAME
?
-# PROTOCOLS
-
-Most
-
# EXAMPLE
~~~c
- CURLOPT_PROXY (3)
- CURLOPT_PROXYTYPE (3)
Protocol:
- - *
+ - All
---
# NAME
See above
-# PROTOCOLS
-
-All network protocols
-
# EXAMPLE
~~~c
CURLSSH_AUTH_ANY (all available)
-# PROTOCOLS
-
-SFTP and SCP
-
# EXAMPLE
~~~c
0, disabled
-# PROTOCOLS
-
-All SSH based protocols: SCP, SFTP
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-SCP and SFTP
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-SCP and SFTP
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-SCP and SFTP
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-SCP and SFTP
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-SFTP and SCP
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-SFTP and SCP
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-SFTP and SCP
-
# EXAMPLE
~~~c
As explained above
-# PROTOCOLS
-
-SFTP and SCP
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-SFTP and SCP
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
-
# EXAMPLE
~~~c
"PEM"
-# PROTOCOLS
-
-All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
-
# EXAMPLE
~~~c
# AVAILABILITY
-Only if the SSL backend is OpenSSL built with engine support.
+Only if OpenSSL is built with engine support.
# RETURN VALUE
None
-# PROTOCOLS
-
-All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
-
# EXAMPLE
~~~c
"PEM"
-# PROTOCOLS
-
-All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
-
# EXAMPLE
~~~c
CURL_SSLVERSION_DEFAULT
-# PROTOCOLS
-
-All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
-
# EXAMPLE
~~~c
NULL, use internal default
-# PROTOCOLS
-
-All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
-
# EXAMPLE
~~~c
# AVAILABILITY
Added in 7.11.0 for OpenSSL, in 7.42.0 for wolfSSL, in 7.54.0 for mbedTLS,
-in 7.83.0 in BearSSL. Other SSL backends are not supported.
+in 7.83.0 in BearSSL.
# RETURN VALUE
NULL
-# PROTOCOLS
-
-All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
-
# EXAMPLE
~~~c
# AVAILABILITY
-libcurl built with OpenSSL (added in 7.11.0), wolfSSL (added in 7.42.0), mbedTLS
-(added in 7.54.0) or BearSSL (added in 7.83.0)
-
-No other SSL backend is supported.
+OpenSSL (added in 7.11.0), wolfSSL (added in 7.42.0), mbedTLS (added in
+7.54.0) or BearSSL (added in 7.83.0)
# RETURN VALUE
"", embedded in SSL backend
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
1, enabled
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
1, enabled
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
0
-# PROTOCOLS
-
-All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
-
# EXAMPLE
~~~c
0
-# PROTOCOLS
-
-All TLS-based protocols
-
# EXAMPLE
~~~c
1
-# PROTOCOLS
-
-All TLS-based
-
# EXAMPLE
~~~c
2
-# PROTOCOLS
-
-All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
-
# EXAMPLE
~~~c
1 - enabled
-# PROTOCOLS
-
-All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
-
# EXAMPLE
~~~c
0
-# PROTOCOLS
-
-All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
-
# EXAMPLE
~~~c
- CURLOPT_NOPROGRESS (3)
- CURLOPT_VERBOSE (3)
Protocol:
- - *
+ - All
---
# NAME
stderr
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-HTTP/2
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-HTTP/2
-
# EXAMPLE
~~~c
If nothing is set, the HTTP/2 protocol itself uses its own default which is
16.
-# PROTOCOLS
-
-HTTP/2
-
# EXAMPLE
~~~c
- CURLOPT_HTTPPROXYTUNNEL (3)
- CURLOPT_PROXY (3)
Protocol:
- - *
+ - All
---
# NAME
0
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
See-also:
- CURLOPT_SSL_FALSESTART (3)
Protocol:
- - *
+ - All
---
# NAME
0
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_TCP_KEEPIDLE (3)
- CURLOPT_TCP_KEEPINTVL (3)
Protocol:
- - *
+ - All
---
# NAME
0
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_TCP_KEEPALIVE (3)
- CURLOPT_TCP_KEEPINTVL (3)
Protocol:
- - *
+ - All
---
# NAME
60
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_TCP_KEEPALIVE (3)
- CURLOPT_TCP_KEEPIDLE (3)
Protocol:
- - *
+ - All
---
# NAME
60
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_SOCKOPTFUNCTION (3)
- CURLOPT_TCP_KEEPALIVE (3)
Protocol:
- - *
+ - All
---
# NAME
1
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-TELNET
-
# EXAMPLE
~~~c
512
-# PROTOCOLS
-
-TFTP
-
# EXAMPLE
~~~c
0
-# PROTOCOLS
-
-TFTP
-
# EXAMPLE
~~~c
CURL_TIMECOND_NONE (0)
-# PROTOCOLS
-
-HTTP, FTP, RTSP, and FILE
-
# EXAMPLE
~~~c
- CURLOPT_TCP_KEEPALIVE (3)
- CURLOPT_TIMEOUT_MS (3)
Protocol:
- - *
+ - All
---
# NAME
Default timeout is 0 (zero) which means it never times out during transfer.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_TCP_KEEPALIVE (3)
- CURLOPT_TIMEOUT (3)
Protocol:
- - *
+ - All
---
# NAME
Default timeout is 0 (zero) which means it never times out during transfer.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
0
-# PROTOCOLS
-
-HTTP, FTP, RTSP, and FILE
-
# EXAMPLE
~~~c
0
-# PROTOCOLS
-
-HTTP, FTP, RTSP, and FILE
-
# EXAMPLE
~~~c
NULL, use internal default
-# PROTOCOLS
-
-All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-All TLS-based protocols
-
# EXAMPLE
~~~c
blank
-# PROTOCOLS
-
-All TLS-based protocols
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-All TLS-based protocols
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
static int trailer_cb(struct curl_slist **tr, void *data)
See-also:
- CURLOPT_CRLF (3)
Protocol:
- - *
+ - All
---
# NAME
0, disabled
-# PROTOCOLS
-
-FTP
-
# EXAMPLE
~~~c
0
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
- CURLOPT_OPENSOCKETFUNCTION (3)
- unix (7)
Protocol:
- - *
+ - All
---
# NAME
Default is NULL, meaning that no Unix domain sockets are used.
-# PROTOCOLS
-
-All protocols except for FILE and FTP are supported in theory. HTTP, IMAP,
-POP3 and SMTP should in particular work (including their SSL/TLS variants).
-
# EXAMPLE
~~~c
0
-# PROTOCOLS
-
-HTTP
-
# EXAMPLE
~~~c
See-also:
- CURLOPT_TCP_KEEPALIVE (3)
Protocol:
- - *
+ - All
---
# NAME
CURL_UPKEEP_INTERVAL_DEFAULT (currently defined as 60000L, which is 60 seconds)
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_PUT (3)
- CURLOPT_READFUNCTION (3)
Protocol:
- - *
+ - All
---
# NAME
0, default is download
-# PROTOCOLS
-
-Most
-
# EXAMPLE
~~~c
- CURLOPT_READFUNCTION (3)
- CURLOPT_TCP_NODELAY (3)
Protocol:
- - *
+ - All
---
# NAME
65536 bytes
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_url_get (3)
- curl_url_set (3)
Protocol:
- - *
+ - All
---
# NAME
(possibly to other protocols too). Consider your
CURLOPT_FOLLOWLOCATION(3) and CURLOPT_REDIR_PROTOCOLS(3) settings.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
NULL, no User-Agent: header is used by default.
-# PROTOCOLS
-
-HTTP, HTTPS
-
# EXAMPLE
~~~c
- CURLOPT_PROXYAUTH (3)
- CURLOPT_USERPWD (3)
Protocol:
- - *
+ - All
---
# NAME
blank
-# PROTOCOLS
-
-Most
-
# EXAMPLE
~~~c
- CURLOPT_PROXYUSERPWD (3)
- CURLOPT_USERNAME (3)
Protocol:
- - *
+ - All
---
# NAME
NULL
-# PROTOCOLS
-
-Most
-
# EXAMPLE
~~~c
CURLUSESSL_NONE
-# PROTOCOLS
-
-FTP, SMTP, POP3, IMAP, LDAP
-
# EXAMPLE
~~~c
- CURLOPT_STDERR (3)
- curl_global_trace (3)
Protocol:
- - *
+ - All
---
# NAME
0, meaning disabled.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
ftp://example.com/some/path/[a-z[:upper:]\\].jpg
-# PROTOCOLS
-
-This feature is only supported for FTP download.
-
# EXAMPLE
~~~c
- CURLOPT_READDATA (3)
- CURLOPT_WRITEFUNCTION (3)
Protocol:
- - *
+ - All
---
# NAME
By default, this is a FILE * to stdout.
-# PROTOCOLS
-
-Used for all protocols.
-
# EXAMPLE
A common technique is to use the write callback to store the incoming data
- CURLOPT_READFUNCTION (3)
- CURLOPT_WRITEDATA (3)
Protocol:
- - *
+ - All
---
# NAME
libcurl uses 'fwrite' as a callback by default.
-# PROTOCOLS
-
-For all protocols
-
# EXAMPLE
~~~c
0
-# PROTOCOLS
-
-WebSocket
-
# EXAMPLE
~~~c
- CURLOPT_VERBOSE (3)
- CURLOPT_XFERINFOFUNCTION (3)
Protocol:
- - *
+ - All
---
# NAME
The default value of this parameter is NULL.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- CURLOPT_NOPROGRESS (3)
- CURLOPT_XFERINFODATA (3)
Protocol:
- - *
+ - All
---
# NAME
By default, libcurl has an internal progress meter. That is rarely wanted by
users.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
NULL
-# PROTOCOLS
-
-HTTP, IMAP, LDAP, POP3 and SMTP
-
# EXAMPLE
~~~c
- curl_share_init (3)
- curl_share_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
*clientp* is the private pointer you set with CURLSHOPT_USERDATA(3).
This pointer is not used by libcurl itself.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_share_init (3)
- curl_share_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
Added in 7.88.0
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_share_init (3)
- curl_share_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
*clientp* is the private pointer you set with CURLSHOPT_USERDATA(3).
This pointer is not used by libcurl itself.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_share_init (3)
- curl_share_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
The Public Suffix List is no longer shared.
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
- curl_share_init (3)
- curl_share_setopt (3)
Protocol:
- - *
+ - All
---
# NAME
the *clientp* argument to the callbacks set with
CURLSHOPT_LOCKFUNC(3) and CURLSHOPT_UNLOCKFUNC(3).
-# PROTOCOLS
-
-All
-
# EXAMPLE
~~~c
return @o;
}
+sub outprotocols {
+ my (@p) = @_;
+ my $comma = 0;
+ my @o;
+ push @o, ".SH PROTOCOLS\n";
+
+ if($p[0] eq "TLS") {
+ push @o, "All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.";
+ }
+ else {
+ my @s = sort @p;
+ for my $e (sort @s) {
+ push @o, sprintf "%s$e",
+ $comma ? (($e eq $s[-1]) ? " and " : ", "): "";
+ $comma = 1;
+ }
+ }
+ push @o, "\n";
+ return @o;
+}
+
+sub outtls {
+ my (@t) = @_;
+ my $comma = 0;
+ my @o;
+ if($t[0] eq "All") {
+ push @o, "\nAll TLS backends support this option.";
+ }
+ else {
+ push @o, "\nThis option works only with the following TLS backends:\n";
+ my @s = sort @t;
+ for my $e (@s) {
+ push @o, sprintf "%s$e",
+ $comma ? (($e eq $s[-1]) ? " and " : ", "): "";
+ $comma = 1;
+ }
+ }
+ push @o, "\n";
+ return @o;
+}
+
my %knownprotos = (
'DICT' => 1,
'FILE' => 1,
'WSS' => 1,
'TLS' => 1,
'TCP' => 1,
- '*' => 1
+ 'All' => 1
);
my %knowntls = (
my $word = $1;
# if there are enclosing quotes, remove them first
$word =~ s/[\"\'](.*)[\"\']\z/$1/;
+
+ if($word eq "PROTOCOLS") {
+ print STDERR "$f:$line:1:WARN: PROTOCOLS section in source file\n";
+ }
+ elsif($word eq "EXAMPLE") {
+ # insert the generated PROTOCOLS section before EXAMPLE
+ push @desc, outprotocols(@proto);
+
+ if($proto[0] eq "TLS") {
+ push @desc, outtls(@tls);
+ }
+ }
push @desc, ".SH $word\n";
$header = 1;
}