diff --git a/libcurl/options/all.md b/libcurl/options/all.md index 6c183d9490..5c89fa2ef8 100644 --- a/libcurl/options/all.md +++ b/libcurl/options/all.md @@ -2,301 +2,312 @@ This is a table of available options for `curl_easy_setopt()`. -| Option | Purpose | -|--------|---------| -| `CURLOPT_ABSTRACT_UNIX_SOCKET` | abstract Unix domain socket | -| `CURLOPT_ACCEPTTIMEOUT_MS` | timeout waiting for FTP server to connect back | -| `CURLOPT_ACCEPT_ENCODING` | automatic decompression of HTTP downloads | -| `CURLOPT_ADDRESS_SCOPE` | scope id for IPv6 addresses | -| `CURLOPT_ALTSVC` | alt-svc cache filename | -| `CURLOPT_ALTSVC_CTRL` | control alt-svc behavior | -| `CURLOPT_APPEND` | append to the remote file | -| `CURLOPT_AUTOREFERER` | automatically update the referer header | -| `CURLOPT_AWS_SIGV4` | V4 signature | -| `CURLOPT_BUFFERSIZE` | receive buffer size | -| `CURLOPT_CAINFO` | path to Certificate Authority (CA) bundle | -| `CURLOPT_CAINFO_BLOB` | Certificate Authority (CA) bundle in PEM format | -| `CURLOPT_CAPATH` | directory holding CA certificates | -| `CURLOPT_CERTINFO` | request SSL certificate information | -| `CURLOPT_CHUNK_BGN_FUNCTION` | callback before a transfer with FTP wildcardmatch | -| `CURLOPT_CHUNK_DATA` | pointer passed to the FTP chunk callbacks | -| `CURLOPT_CHUNK_END_FUNCTION` | callback after a transfer with FTP wildcardmatch | -| `CURLOPT_CLOSESOCKETDATA` | pointer passed to the socket close callback | -| `CURLOPT_CLOSESOCKETFUNCTION` | callback to socket close replacement | -| `CURLOPT_CONNECTTIMEOUT` | timeout for the connect phase | -| `CURLOPT_CONNECTTIMEOUT_MS` | timeout for the connect phase | -| `CURLOPT_CONNECT_ONLY` | stop when connected to target server | -| `CURLOPT_CONNECT_TO` | connect to a specific host and port instead of the URL's host and port | -| `CURLOPT_CONV_FROM_NETWORK_FUNCTION` | convert data from network to host encoding | -| `CURLOPT_CONV_FROM_UTF8_FUNCTION` | convert data from UTF8 to host encoding | -| `CURLOPT_CONV_TO_NETWORK_FUNCTION` | convert data to network from host encoding | -| `CURLOPT_COOKIE` | HTTP Cookie header | -| `CURLOPT_COOKIEFILE` | filename to read cookies from | -| `CURLOPT_COOKIEJAR` | filename to store cookies to | -| `CURLOPT_COOKIELIST` | add to or manipulate cookies held in memory | -| `CURLOPT_COOKIESESSION` | start a new cookie session | -| `CURLOPT_COPYPOSTFIELDS` | have libcurl copy data to POST | -| `CURLOPT_CRLF` | CRLF conversion | -| `CURLOPT_CRLFILE` | Certificate Revocation List file | -| `CURLOPT_CURLU` | URL in CURLU * format | -| `CURLOPT_CUSTOMREQUEST` | custom request method | -| `CURLOPT_DEBUGDATA` | pointer passed to the debug callback | -| `CURLOPT_DEBUGFUNCTION` | debug callback | -| `CURLOPT_DEFAULT_PROTOCOL` | default protocol to use if the URL is missing a | -| `CURLOPT_DIRLISTONLY` | ask for names only in a directory listing | -| `CURLOPT_DISALLOW_USERNAME_IN_URL` | disallow specifying username in the URL | -| `CURLOPT_DNS_CACHE_TIMEOUT` | life-time for DNS cache entries | -| `CURLOPT_DNS_INTERFACE` | interface to speak DNS over | -| `CURLOPT_DNS_LOCAL_IP4` | IPv4 address to bind DNS resolves to | -| `CURLOPT_DNS_LOCAL_IP6` | IPv6 address to bind DNS resolves to | -| `CURLOPT_DNS_SERVERS` | DNS servers to use | -| `CURLOPT_DNS_SHUFFLE_ADDRESSES` | shuffle IP addresses for hostname | -| `CURLOPT_DNS_USE_GLOBAL_CACHE` | global DNS cache | -| `CURLOPT_DOH_SSL_VERIFYHOST` | verify the host name in the DoH SSL certificate | -| `CURLOPT_DOH_SSL_VERIFYPEER` | verify the DoH SSL certificate | -| `CURLOPT_DOH_SSL_VERIFYSTATUS` | verify the DoH SSL certificate's status | -| `CURLOPT_DOH_URL` | provide the DNS-over-HTTPS URL | -| `CURLOPT_EGDSOCKET` | EGD socket path | -| `CURLOPT_ERRORBUFFER` | error buffer for error messages | -| `CURLOPT_EXPECT_100_TIMEOUT_MS` | timeout for Expect: 100-continue response | -| `CURLOPT_FAILONERROR` | request failure on HTTP response >= 400 | -| `CURLOPT_FILETIME` | get the modification time of the remote resource | -| `CURLOPT_FNMATCH_DATA` | pointer passed to the fnmatch callback | -| `CURLOPT_FNMATCH_FUNCTION` | wildcard match callback | -| `CURLOPT_FOLLOWLOCATION` | follow HTTP 3xx redirects | -| `CURLOPT_FORBID_REUSE` | make connection get closed at once after use | -| `CURLOPT_FRESH_CONNECT` | force a new connection to be used | -| `CURLOPT_FTPPORT` | make FTP transfer active | -| `CURLOPT_FTPSSLAUTH` | order in which to attempt TLS vs SSL | -| `CURLOPT_FTP_ACCOUNT` | account info for FTP | -| `CURLOPT_FTP_ALTERNATIVE_TO_USER` | command to use instead of USER with FTP | -| `CURLOPT_FTP_CREATE_MISSING_DIRS` | create missing dirs for FTP and SFTP | -| `CURLOPT_FTP_FILEMETHOD` | select directory traversing method for FTP | -| `CURLOPT_FTP_RESPONSE_TIMEOUT` | time allowed to wait for FTP response | -| `CURLOPT_FTP_SKIP_PASV_IP` | ignore the IP address in the PASV response | -| `CURLOPT_FTP_SSL_CCC` | switch off SSL again with FTP after auth | -| `CURLOPT_FTP_USE_EPRT` | use EPRT for FTP | -| `CURLOPT_FTP_USE_EPSV` | use EPSV for FTP | -| `CURLOPT_FTP_USE_PRET` | use PRET for FTP | -| `CURLOPT_GSSAPI_DELEGATION` | allowed GSS-API delegation | -| `CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS` | head start for ipv6 for happy eyeballs | -| `CURLOPT_HAPROXYPROTOCOL` | send HAProxy PROXY protocol v1 header | -| `CURLOPT_HEADER` | pass headers to the data stream | -| `CURLOPT_HEADERDATA` | pointer to pass to header callback | -| `CURLOPT_HEADERFUNCTION` | callback that receives header data | -| `CURLOPT_HEADEROPT` | send HTTP headers to both proxy and host or separately | -| `CURLOPT_HSTS` | HSTS cache filename | -| `CURLOPT_HSTSREADDATA` | pointer passed to the HSTS read callback | -| `CURLOPT_HSTSREADFUNCTION` | read callback for HSTS hosts | -| `CURLOPT_HSTSWRITEDATA` | pointer passed to the HSTS write callback | -| `CURLOPT_HSTSWRITEFUNCTION` | write callback for HSTS hosts | -| `CURLOPT_HSTS_CTRL` | control HSTS behavior | -| `CURLOPT_HTTP09_ALLOWED` | allow HTTP/0.9 response | -| `CURLOPT_HTTP200ALIASES` | alternative matches for HTTP 200 OK | -| `CURLOPT_HTTPAUTH` | HTTP server authentication methods to try | -| `CURLOPT_HTTPGET` | ask for an HTTP GET request | -| `CURLOPT_HTTPHEADER` | set of HTTP headers | -| `CURLOPT_HTTPPOST` | multipart formpost content | -| `CURLOPT_HTTPPROXYTUNNEL` | tunnel through HTTP proxy | -| `CURLOPT_HTTP_CONTENT_DECODING` | HTTP content decoding control | -| `CURLOPT_HTTP_TRANSFER_DECODING` | HTTP transfer decoding control | -| `CURLOPT_HTTP_VERSION` | HTTP protocol version to use | -| `CURLOPT_IGNORE_CONTENT_LENGTH` | ignore content length | -| `CURLOPT_INFILESIZE` | size of the input file to send off | -| `CURLOPT_INFILESIZE_LARGE` | size of the input file to send off | -| `CURLOPT_INTERFACE` | source interface for outgoing traffic | -| `CURLOPT_INTERLEAVEDATA` | pointer passed to RTSP interleave callback | -| `CURLOPT_INTERLEAVEFUNCTION` | callback for RTSP interleaved data | -| `CURLOPT_IOCTLDATA` | pointer passed to I/O callback | -| `CURLOPT_IOCTLFUNCTION` | callback for I/O operations | -| `CURLOPT_IPRESOLVE` | IP protocol version to use | -| `CURLOPT_ISSUERCERT` | issuer SSL certificate filename | -| `CURLOPT_ISSUERCERT_BLOB` | issuer SSL certificate from memory blob | -| `CURLOPT_KEEP_SENDING_ON_ERROR` | keep sending on early HTTP response >= 300 | -| `CURLOPT_KEYPASSWD` | passphrase to private key | -| `CURLOPT_KRBLEVEL` | FTP kerberos security level | -| `CURLOPT_LOCALPORT` | local port number to use for socket | -| `CURLOPT_LOCALPORTRANGE` | number of additional local ports to try | -| `CURLOPT_LOGIN_OPTIONS` | login options | -| `CURLOPT_LOW_SPEED_LIMIT` | low speed limit in bytes per second | -| `CURLOPT_LOW_SPEED_TIME` | low speed limit time period | -| `CURLOPT_MAIL_AUTH` | SMTP authentication address | -| `CURLOPT_MAIL_FROM` | SMTP sender address | -| `CURLOPT_MAIL_RCPT` | list of SMTP mail recipients | -| `CURLOPT_MAIL_RCPT_ALLLOWFAILS` | allow RCPT TO command to fail for some recipients | -| `CURLOPT_MAXAGE_CONN` | max idle time allowed for reusing a connection | -| `CURLOPT_MAXCONNECTS` | maximum connection cache size | -| `CURLOPT_MAXFILESIZE` | maximum file size allowed to download | -| `CURLOPT_MAXFILESIZE_LARGE` | maximum file size allowed to download | -| `CURLOPT_MAXLIFETIME_CONN` | max lifetime (since creation) allowed for reusing a connection | -| `CURLOPT_MAXREDIRS` | maximum number of redirects allowed | -| `CURLOPT_MAX_RECV_SPEED_LARGE` | rate limit data download speed | -| `CURLOPT_MAX_SEND_SPEED_LARGE` | rate limit data upload speed | -| `CURLOPT_MIMEPOST` | send data from mime structure | -| `CURLOPT_MIME_OPTIONS` | set MIME option flags | -| `CURLOPT_NETRC` | enable use of .netrc | -| `CURLOPT_NETRC_FILE` | filename to read .netrc info from | -| `CURLOPT_NEW_DIRECTORY_PERMS` | permissions for remotely created directories | -| `CURLOPT_NEW_FILE_PERMS` | permissions for remotely created files | -| `CURLOPT_NOBODY` | do the download request without getting the body | -| `CURLOPT_NOPROGRESS` | switch off the progress meter | -| `CURLOPT_NOPROXY` | disable proxy use for specific hosts | -| `CURLOPT_NOSIGNAL` | skip all signal handling | -| `CURLOPT_OPENSOCKETDATA` | pointer passed to open socket callback | -| `CURLOPT_OPENSOCKETFUNCTION` | callback for opening socket | -| `CURLOPT_PASSWORD` | password to use in authentication | -| `CURLOPT_PATH_AS_IS` | do not handle dot dot sequences | -| `CURLOPT_PINNEDPUBLICKEY` | pinned public key | -| `CURLOPT_PIPEWAIT` | wait for pipelining/multiplexing | -| `CURLOPT_PORT` | remote port number to connect to | -| `CURLOPT_POST` | make an HTTP POST | -| `CURLOPT_POSTFIELDS` | data to POST to server | -| `CURLOPT_POSTFIELDSIZE` | size of POST data pointed to | -| `CURLOPT_POSTFIELDSIZE_LARGE` | size of POST data pointed to | -| `CURLOPT_POSTQUOTE` | (S)FTP commands to run after the transfer | -| `CURLOPT_POSTREDIR` | how to act on an HTTP POST redirect | -| `CURLOPT_PREQUOTE` | commands to run before an FTP transfer | -| `CURLOPT_PREREQDATA` | pointer passed to the pre-request callback | -| `CURLOPT_PREREQFUNCTION` | user callback called when a connection has been | -| `CURLOPT_PRE_PROXY` | pre-proxy host to use | -| `CURLOPT_PRIVATE` | store a private pointer | -| `CURLOPT_PROGRESSDATA` | pointer passed to the progress callback | -| `CURLOPT_PROGRESSFUNCTION` | progress meter callback | -| `CURLOPT_PROTOCOLS` | allowed protocols | -| `CURLOPT_PROXY` | proxy to use | -| `CURLOPT_PROXYAUTH` | HTTP proxy authentication methods | -| `CURLOPT_PROXYHEADER` | set of HTTP headers to pass to proxy | -| `CURLOPT_PROXYPASSWORD` | password to use with proxy authentication | -| `CURLOPT_PROXYPORT` | port number the proxy listens on | -| `CURLOPT_PROXYTYPE` | proxy protocol type | -| `CURLOPT_PROXYUSERNAME` | user name to use for proxy authentication | -| `CURLOPT_PROXYUSERPWD` | user name and password to use for proxy authentication | -| `CURLOPT_PROXY_CAINFO` | path to proxy Certificate Authority (CA) bundle | -| `CURLOPT_PROXY_CAINFO_BLOB` | proxy Certificate Authority (CA) bundle in PEM format | -| `CURLOPT_PROXY_CAPATH` | directory holding HTTPS proxy CA certificates | -| `CURLOPT_PROXY_CRLFILE` | HTTPS proxy Certificate Revocation List file | -| `CURLOPT_PROXY_ISSUERCERT` | proxy issuer SSL certificate filename | -| `CURLOPT_PROXY_ISSUERCERT_BLOB` | proxy issuer SSL certificate from memory blob | -| `CURLOPT_PROXY_KEYPASSWD` | passphrase for the proxy private key | -| `CURLOPT_PROXY_PINNEDPUBLICKEY` | pinned public key for https proxy | -| `CURLOPT_PROXY_SERVICE_NAME` | proxy authentication service name | -| `CURLOPT_PROXY_SSLCERT` | HTTPS proxy client certificate | -| `CURLOPT_PROXY_SSLCERTTYPE` | type of the proxy client SSL certificate | -| `CURLOPT_PROXY_SSLCERT_BLOB` | SSL proxy client certificate from memory blob | -| `CURLOPT_PROXY_SSLKEY` | private keyfile for HTTPS proxy client cert | -| `CURLOPT_PROXY_SSLKEYTYPE` | type of the proxy private key file | -| `CURLOPT_PROXY_SSLKEY_BLOB` | private key for proxy cert from memory blob | -| `CURLOPT_PROXY_SSLVERSION` | preferred HTTPS proxy TLS version | -| `CURLOPT_PROXY_SSL_CIPHER_LIST` | ciphers to use for HTTPS proxy | -| `CURLOPT_PROXY_SSL_OPTIONS` | HTTPS proxy SSL behavior options | -| `CURLOPT_PROXY_SSL_VERIFYHOST` | verify the proxy certificate's name against host | -| `CURLOPT_PROXY_SSL_VERIFYPEER` | verify the proxy's SSL certificate | -| `CURLOPT_PROXY_TLS13_CIPHERS` | ciphers suites for proxy TLS 1.3 | -| `CURLOPT_PROXY_TLSAUTH_PASSWORD` | password to use for proxy TLS authentication | -| `CURLOPT_PROXY_TLSAUTH_TYPE` | HTTPS proxy TLS authentication methods | -| `CURLOPT_PROXY_TLSAUTH_USERNAME` | user name to use for proxy TLS authentication | -| `CURLOPT_PROXY_TRANSFER_MODE` | append FTP transfer mode to URL for proxy | -| `CURLOPT_PUT` | make an HTTP PUT request | -| `CURLOPT_QUOTE` | (S)FTP commands to run before transfer | -| `CURLOPT_RANDOM_FILE` | file to read random data from | -| `CURLOPT_RANGE` | byte range to request | -| `CURLOPT_READDATA` | pointer passed to the read callback | -| `CURLOPT_READFUNCTION` | read callback for data uploads | -| `CURLOPT_REDIR_PROTOCOLS` | protocols allowed to redirect to | -| `CURLOPT_REFERER` | the HTTP referer header | -| `CURLOPT_REQUEST_TARGET` | alternative target for this request | -| `CURLOPT_RESOLVE` | provide custom host name to IP address resolves | -| `CURLOPT_RESOLVER_START_DATA` | pointer passed to the resolver start callback | -| `CURLOPT_RESOLVER_START_FUNCTION` | callback called before a new name resolve is started | -| `CURLOPT_RESUME_FROM` | offset to resume transfer from | -| `CURLOPT_RESUME_FROM_LARGE` | offset to resume transfer from | -| `CURLOPT_RTSP_CLIENT_CSEQ` | RTSP client CSEQ number | -| `CURLOPT_RTSP_REQUEST` | RTSP request | -| `CURLOPT_RTSP_SERVER_CSEQ` | RTSP server CSEQ number | -| `CURLOPT_RTSP_SESSION_ID` | RTSP session ID | -| `CURLOPT_RTSP_STREAM_URI` | RTSP stream URI | -| `CURLOPT_RTSP_TRANSPORT` | RTSP Transport: header | -| `CURLOPT_SASL_AUTHZID` | authorization identity (identity to act as) | -| `CURLOPT_SASL_IR` | send initial response in first packet | -| `CURLOPT_SEEKDATA` | pointer passed to the seek callback | -| `CURLOPT_SEEKFUNCTION` | user callback for seeking in input stream | -| `CURLOPT_SERVICE_NAME` | authentication service name | -| `CURLOPT_SHARE` | share handle to use | -| `CURLOPT_SOCKOPTDATA` | pointer to pass to sockopt callback | -| `CURLOPT_SOCKOPTFUNCTION` | callback for setting socket options | -| `CURLOPT_SOCKS5_AUTH` | methods for SOCKS5 proxy authentication | -| `CURLOPT_SOCKS5_GSSAPI_NEC` | socks proxy gssapi negotiation protection | -| `CURLOPT_SOCKS5_GSSAPI_SERVICE` | SOCKS5 proxy authentication service name | -| `CURLOPT_SSH_AUTH_TYPES` | auth types for SFTP and SCP | -| `CURLOPT_SSH_COMPRESSION` | enable SSH compression | -| `CURLOPT_SSH_HOST_PUBLIC_KEY_MD5` | MD5 checksum of SSH server public key | -| `CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256` | SHA256 hash of SSH server public key | -| `CURLOPT_SSH_KEYDATA` | pointer passed to the SSH key callback | -| `CURLOPT_SSH_KEYFUNCTION` | callback for known host matching logic | -| `CURLOPT_SSH_KNOWNHOSTS` | filename holding the SSH known hosts | -| `CURLOPT_SSH_PRIVATE_KEYFILE` | private key file for SSH auth | -| `CURLOPT_SSH_PUBLIC_KEYFILE` | public key file for SSH auth | -| `CURLOPT_SSLCERT` | SSL client certificate | -| `CURLOPT_SSLCERTTYPE` | type of client SSL certificate | -| `CURLOPT_SSLCERT_BLOB` | SSL client certificate from memory blob | -| `CURLOPT_SSLENGINE` | SSL engine identifier | -| `CURLOPT_SSLENGINE_DEFAULT` | make SSL engine default | -| `CURLOPT_SSLKEY` | private keyfile for TLS and SSL client cert | -| `CURLOPT_SSLKEYTYPE` | type of the private key file | -| `CURLOPT_SSLKEY_BLOB` | private key for client cert from memory blob | -| `CURLOPT_SSLVERSION` | preferred TLS/SSL version | -| `CURLOPT_SSL_CIPHER_LIST` | ciphers to use for TLS | -| `CURLOPT_SSL_CTX_DATA` | pointer passed to ssl_ctx callback | -| `CURLOPT_SSL_CTX_FUNCTION` | SSL context callback for OpenSSL, wolfSSL or mbedTLS | -| `CURLOPT_SSL_EC_CURVES` | key exchange curves | -| `CURLOPT_SSL_ENABLE_ALPN` | Application Layer Protocol Negotiation | -| `CURLOPT_SSL_ENABLE_NPN` | use NPN | -| `CURLOPT_SSL_FALSESTART` | TLS false start | -| `CURLOPT_SSL_OPTIONS` | SSL behavior options | -| `CURLOPT_SSL_SESSIONID_CACHE` | use the SSL session-ID cache | -| `CURLOPT_SSL_VERIFYHOST` | verify the certificate's name against host | -| `CURLOPT_SSL_VERIFYPEER` | verify the peer's SSL certificate | -| `CURLOPT_SSL_VERIFYSTATUS` | verify the certificate's status | -| `CURLOPT_STDERR` | redirect stderr to another stream | -| `CURLOPT_STREAM_DEPENDS` | stream this transfer depends on | -| `CURLOPT_STREAM_DEPENDS_E` | stream this transfer depends on exclusively | -| `CURLOPT_STREAM_WEIGHT` | numerical stream weight | -| `CURLOPT_SUPPRESS_CONNECT_HEADERS` | suppress proxy CONNECT response headers from user callbacks | -| `CURLOPT_TCP_FASTOPEN` | TCP Fast Open | -| `CURLOPT_TCP_KEEPALIVE` | TCP keep-alive probing | -| `CURLOPT_TCP_KEEPIDLE` | TCP keep-alive idle time wait | -| `CURLOPT_TCP_KEEPINTVL` | TCP keep-alive interval | -| `CURLOPT_TCP_NODELAY` | the TCP_NODELAY option | -| `CURLOPT_TELNETOPTIONS` | set of telnet options | -| `CURLOPT_TFTP_BLKSIZE` | TFTP block size | -| `CURLOPT_TFTP_NO_OPTIONS` | send no TFTP options requests | -| `CURLOPT_TIMECONDITION` | select condition for a time request | -| `CURLOPT_TIMEOUT` | maximum time the transfer is allowed to complete | -| `CURLOPT_TIMEOUT_MS` | maximum time the transfer is allowed to complete | -| `CURLOPT_TIMEVALUE` | time value for conditional | -| `CURLOPT_TIMEVALUE_LARGE` | time value for conditional | -| `CURLOPT_TLS13_CIPHERS` | ciphers suites to use for TLS 1.3 | -| `CURLOPT_TLSAUTH_PASSWORD` | password to use for TLS authentication | -| `CURLOPT_TLSAUTH_TYPE` | TLS authentication methods | -| `CURLOPT_TLSAUTH_USERNAME` | user name to use for TLS authentication | -| `CURLOPT_TRAILERDATA` | pointer passed to trailing headers callback | -| `CURLOPT_TRAILERFUNCTION` | callback for sending trailing headers | -| `CURLOPT_TRANSFERTEXT` | request a text based transfer for FTP | -| `CURLOPT_TRANSFER_ENCODING` | ask for HTTP Transfer Encoding | -| `CURLOPT_UNIX_SOCKET_PATH` | Unix domain socket | -| `CURLOPT_UNRESTRICTED_AUTH` | send credentials to other hosts too | -| `CURLOPT_UPKEEP_INTERVAL_MS` | connection upkeep interval | -| `CURLOPT_UPLOAD` | data upload | -| `CURLOPT_UPLOAD_BUFFERSIZE` | upload buffer size | -| `CURLOPT_URL` | URL for this transfer | -| `CURLOPT_USERAGENT` | HTTP user-agent header | -| `CURLOPT_USERNAME` | user name to use in authentication | -| `CURLOPT_USERPWD` | user name and password to use in authentication | -| `CURLOPT_USE_SSL` | request using SSL / TLS for the transfer | -| `CURLOPT_VERBOSE` | verbose mode | -| `CURLOPT_WILDCARDMATCH` | directory wildcard transfers | -| `CURLOPT_WRITEDATA` | pointer passed to the write callback | -| `CURLOPT_WRITEFUNCTION` | callback for writing received data | -| `CURLOPT_XFERINFODATA` | pointer passed to the progress callback | -| `CURLOPT_XFERINFOFUNCTION` | progress meter callback | -| `CURLOPT_XOAUTH2_BEARER` | OAuth 2.0 access token | +| Option | Purpose | +|--------------------------------------|------------------------------------------------------------------------| +| `CURLOPT_ABSTRACT_UNIX_SOCKET` | abstract Unix domain socket | +| `CURLOPT_ACCEPT_ENCODING` | automatic decompression of HTTP downloads | +| `CURLOPT_ACCEPTTIMEOUT_MS` | timeout waiting for FTP server to connect back | +| `CURLOPT_ADDRESS_SCOPE` | scope id for IPv6 addresses | +| `CURLOPT_ALTSVC_CTRL` | control alt-svc behavior | +| `CURLOPT_ALTSVC` | alt-svc cache filename | +| `CURLOPT_APPEND` | append to the remote file | +| `CURLOPT_AUTOREFERER` | automatically update the referer header | +| `CURLOPT_AWS_SIGV4` | V4 signature | +| `CURLOPT_BUFFERSIZE` | receive buffer size | +| `CURLOPT_CA_CACHE_TIMEOUT` | life-time for cached certificate stores | +| `CURLOPT_CAINFO_BLOB` | Certificate Authority (CA) bundle in PEM format | +| `CURLOPT_CAINFO` | path to Certificate Authority (CA) bundle | +| `CURLOPT_CAPATH` | directory holding CA certificates | +| `CURLOPT_CERTINFO` | request SSL certificate information | +| `CURLOPT_CHUNK_BGN_FUNCTION` | callback before a transfer with FTP wildcardmatch | +| `CURLOPT_CHUNK_DATA` | pointer passed to the FTP chunk callbacks | +| `CURLOPT_CHUNK_END_FUNCTION` | callback after a transfer with FTP wildcardmatch | +| `CURLOPT_CLOSESOCKETDATA` | pointer passed to the socket close callback | +| `CURLOPT_CLOSESOCKETFUNCTION` | callback to socket close replacement | +| `CURLOPT_CONNECT_ONLY` | stop when connected to target server | +| `CURLOPT_CONNECT_TO` | connect to a specific host and port instead of the URL's host and port | +| `CURLOPT_CONNECTTIMEOUT_MS` | timeout for the connect phase | +| `CURLOPT_CONNECTTIMEOUT` | timeout for the connect phase | +| `CURLOPT_CONV_FROM_NETWORK_FUNCTION` | convert data from network to host encoding | +| `CURLOPT_CONV_FROM_UTF8_FUNCTION` | convert data from UTF8 to host encoding | +| `CURLOPT_CONV_TO_NETWORK_FUNCTION` | convert data to network from host encoding | +| `CURLOPT_COOKIE` | HTTP Cookie header | +| `CURLOPT_COOKIEFILE` | filename to read cookies from | +| `CURLOPT_COOKIEJAR` | filename to store cookies to | +| `CURLOPT_COOKIELIST` | add to or manipulate cookies held in memory | +| `CURLOPT_COOKIESESSION` | start a new cookie session | +| `CURLOPT_COPYPOSTFIELDS` | have libcurl copy data to POST | +| `CURLOPT_CRLF` | CRLF conversion | +| `CURLOPT_CRLFILE` | Certificate Revocation List file | +| `CURLOPT_CURLU` | URL in CURLU * format | +| `CURLOPT_CUSTOMREQUEST` | custom request method | +| `CURLOPT_DEBUGDATA` | pointer passed to the debug callback | +| `CURLOPT_DEBUGFUNCTION` | debug callback | +| `CURLOPT_DEFAULT_PROTOCOL` | default protocol to use if the URL is missing a | +| `CURLOPT_DIRLISTONLY` | ask for names only in a directory listing | +| `CURLOPT_DISALLOW_USERNAME_IN_URL` | disallow specifying username in the URL | +| `CURLOPT_DNS_CACHE_TIMEOUT` | life-time for DNS cache entries | +| `CURLOPT_DNS_INTERFACE` | interface to speak DNS over | +| `CURLOPT_DNS_LOCAL_IP4` | IPv4 address to bind DNS resolves to | +| `CURLOPT_DNS_LOCAL_IP6` | IPv6 address to bind DNS resolves to | +| `CURLOPT_DNS_SERVERS` | DNS servers to use | +| `CURLOPT_DNS_SHUFFLE_ADDRESSES` | shuffle IP addresses for hostname | +| `CURLOPT_DNS_USE_GLOBAL_CACHE` | global DNS cache | +| `CURLOPT_DOH_SSL_VERIFYHOST` | verify the host name in the DoH SSL certificate | +| `CURLOPT_DOH_SSL_VERIFYPEER` | verify the DoH SSL certificate | +| `CURLOPT_DOH_SSL_VERIFYSTATUS` | verify the DoH SSL certificate's status | +| `CURLOPT_DOH_URL` | provide the DNS-over-HTTPS URL | +| `CURLOPT_EGDSOCKET` | EGD socket path | +| `CURLOPT_ERRORBUFFER` | error buffer for error messages | +| `CURLOPT_EXPECT_100_TIMEOUT_MS` | timeout for Expect: 100-continue response | +| `CURLOPT_FAILONERROR` | request failure on HTTP response >= 400 | +| `CURLOPT_FILETIME` | get the modification time of the remote resource | +| `CURLOPT_FNMATCH_DATA` | pointer passed to the fnmatch callback | +| `CURLOPT_FNMATCH_FUNCTION` | wildcard match callback | +| `CURLOPT_FOLLOWLOCATION` | follow HTTP 3xx redirects | +| `CURLOPT_FORBID_REUSE` | make connection get closed at once after use | +| `CURLOPT_FRESH_CONNECT` | force a new connection to be used | +| `CURLOPT_FTP_ACCOUNT` | account info for FTP | +| `CURLOPT_FTP_ALTERNATIVE_TO_USER` | command to use instead of USER with FTP | +| `CURLOPT_FTP_CREATE_MISSING_DIRS` | create missing dirs for FTP and SFTP | +| `CURLOPT_FTP_FILEMETHOD` | select directory traversing method for FTP | +| `CURLOPT_FTP_RESPONSE_TIMEOUT` | time allowed to wait for FTP response | +| `CURLOPT_FTP_SKIP_PASV_IP` | ignore the IP address in the PASV response | +| `CURLOPT_FTP_SSL_CCC` | switch off SSL again with FTP after auth | +| `CURLOPT_FTP_USE_EPRT` | use EPRT for FTP | +| `CURLOPT_FTP_USE_EPSV` | use EPSV for FTP | +| `CURLOPT_FTP_USE_PRET` | use PRET for FTP | +| `CURLOPT_FTPPORT` | make FTP transfer active | +| `CURLOPT_FTPSSLAUTH` | order in which to attempt TLS vs SSL | +| `CURLOPT_GSSAPI_DELEGATION` | allowed GSS-API delegation | +| `CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS` | head start for ipv6 for happy eyeballs | +| `CURLOPT_HAPROXY_CLIENT_IP` | set HAProxy PROXY protocol client IP | +| `CURLOPT_HAPROXYPROTOCOL` | send HAProxy PROXY protocol v1 header | +| `CURLOPT_HEADER` | pass headers to the data stream | +| `CURLOPT_HEADERDATA` | pointer to pass to header callback | +| `CURLOPT_HEADERFUNCTION` | callback that receives header data | +| `CURLOPT_HEADEROPT` | send HTTP headers to both proxy and host or separately | +| `CURLOPT_HSTS_CTRL` | control HSTS behavior | +| `CURLOPT_HSTS` | HSTS cache filename | +| `CURLOPT_HSTSREADDATA` | pointer passed to the HSTS read callback | +| `CURLOPT_HSTSREADFUNCTION` | read callback for HSTS hosts | +| `CURLOPT_HSTSWRITEDATA` | pointer passed to the HSTS write callback | +| `CURLOPT_HSTSWRITEFUNCTION` | write callback for HSTS hosts | +| `CURLOPT_HTTP09_ALLOWED` | allow HTTP/0.9 response | +| `CURLOPT_HTTP200ALIASES` | alternative matches for HTTP 200 OK | +| `CURLOPT_HTTP_CONTENT_DECODING` | HTTP content decoding control | +| `CURLOPT_HTTP_TRANSFER_DECODING` | HTTP transfer decoding control | +| `CURLOPT_HTTP_VERSION` | HTTP protocol version to use | +| `CURLOPT_HTTPAUTH` | HTTP server authentication methods to try | +| `CURLOPT_HTTPGET` | ask for an HTTP GET request | +| `CURLOPT_HTTPHEADER` | set of HTTP headers | +| `CURLOPT_HTTPPOST` | multipart formpost content | +| `CURLOPT_HTTPPROXYTUNNEL` | tunnel through HTTP proxy | +| `CURLOPT_IGNORE_CONTENT_LENGTH` | ignore content length | +| `CURLOPT_INFILESIZE_LARGE` | size of the input file to send off | +| `CURLOPT_INFILESIZE` | size of the input file to send off | +| `CURLOPT_INTERFACE` | source interface for outgoing traffic | +| `CURLOPT_INTERLEAVEDATA` | pointer passed to RTSP interleave callback | +| `CURLOPT_INTERLEAVEFUNCTION` | callback for RTSP interleaved data | +| `CURLOPT_IOCTLDATA` | pointer passed to I/O callback | +| `CURLOPT_IOCTLFUNCTION` | callback for I/O operations | +| `CURLOPT_IPRESOLVE` | IP protocol version to use | +| `CURLOPT_ISSUERCERT_BLOB` | issuer SSL certificate from memory blob | +| `CURLOPT_ISSUERCERT` | issuer SSL certificate filename | +| `CURLOPT_KEEP_SENDING_ON_ERROR` | keep sending on early HTTP response >= 300 | +| `CURLOPT_KEYPASSWD` | passphrase to private key | +| `CURLOPT_KRBLEVEL` | FTP kerberos security level | +| `CURLOPT_LOCALPORT` | local port number to use for socket | +| `CURLOPT_LOCALPORTRANGE` | number of additional local ports to try | +| `CURLOPT_LOGIN_OPTIONS` | login options | +| `CURLOPT_LOW_SPEED_LIMIT` | low speed limit in bytes per second | +| `CURLOPT_LOW_SPEED_TIME` | low speed limit time period | +| `CURLOPT_MAIL_AUTH` | SMTP authentication address | +| `CURLOPT_MAIL_FROM` | SMTP sender address | +| `CURLOPT_MAIL_RCPT_ALLLOWFAILS` | allow RCPT TO command to fail for some recipients | +| `CURLOPT_MAIL_RCPT_ALLOWFAILS` | allow RCPT TO command to fail for some recipients | +| `CURLOPT_MAIL_RCPT` | list of SMTP mail recipients | +| `CURLOPT_MAX_RECV_SPEED_LARGE` | rate limit data download speed | +| `CURLOPT_MAX_SEND_SPEED_LARGE` | rate limit data upload speed | +| `CURLOPT_MAXAGE_CONN` | max idle time allowed for reusing a connection | +| `CURLOPT_MAXCONNECTS` | maximum connection cache size | +| `CURLOPT_MAXFILESIZE_LARGE` | maximum file size allowed to download | +| `CURLOPT_MAXFILESIZE` | maximum file size allowed to download | +| `CURLOPT_MAXLIFETIME_CONN` | max lifetime (since creation) allowed for reusing a connection | +| `CURLOPT_MAXREDIRS` | maximum number of redirects allowed | +| `CURLOPT_MIME_OPTIONS` | set MIME option flags | +| `CURLOPT_MIMEPOST` | send data from mime structure | +| `CURLOPT_NETRC_FILE` | filename to read .netrc info from | +| `CURLOPT_NETRC` | enable use of .netrc | +| `CURLOPT_NEW_DIRECTORY_PERMS` | permissions for remotely created directories | +| `CURLOPT_NEW_FILE_PERMS` | permissions for remotely created files | +| `CURLOPT_NOBODY` | do the download request without getting the body | +| `CURLOPT_NOPROGRESS` | switch off the progress meter | +| `CURLOPT_NOPROXY` | disable proxy use for specific hosts | +| `CURLOPT_NOSIGNAL` | skip all signal handling | +| `CURLOPT_OPENSOCKETDATA` | pointer passed to open socket callback | +| `CURLOPT_OPENSOCKETFUNCTION` | callback for opening socket | +| `CURLOPT_PASSWORD` | password to use in authentication | +| `CURLOPT_PATH_AS_IS` | do not handle dot dot sequences | +| `CURLOPT_PINNEDPUBLICKEY` | pinned public key | +| `CURLOPT_PIPEWAIT` | wait for pipelining/multiplexing | +| `CURLOPT_PORT` | remote port number to connect to | +| `CURLOPT_POST` | make an HTTP POST | +| `CURLOPT_POSTFIELDS` | data to POST to server | +| `CURLOPT_POSTFIELDSIZE_LARGE` | size of POST data pointed to | +| `CURLOPT_POSTFIELDSIZE` | size of POST data pointed to | +| `CURLOPT_POSTQUOTE` | (S)FTP commands to run after the transfer | +| `CURLOPT_POSTREDIR` | how to act on an HTTP POST redirect | +| `CURLOPT_PRE_PROXY` | pre-proxy host to use | +| `CURLOPT_PREQUOTE` | commands to run before an FTP transfer | +| `CURLOPT_PREREQDATA` | pointer passed to the pre-request callback | +| `CURLOPT_PREREQFUNCTION` | user callback called when a connection has been | +| `CURLOPT_PRIVATE` | store a private pointer | +| `CURLOPT_PROGRESSDATA` | pointer passed to the progress callback | +| `CURLOPT_PROGRESSFUNCTION` | progress meter callback | +| `CURLOPT_PROTOCOLS_STR` | allowed protocols | +| `CURLOPT_PROTOCOLS` | allowed protocols | +| `CURLOPT_PROXY_CAINFO_BLOB` | proxy Certificate Authority (CA) bundle in PEM format | +| `CURLOPT_PROXY_CAINFO` | path to proxy Certificate Authority (CA) bundle | +| `CURLOPT_PROXY_CAPATH` | directory holding HTTPS proxy CA certificates | +| `CURLOPT_PROXY_CRLFILE` | HTTPS proxy Certificate Revocation List file | +| `CURLOPT_PROXY_ISSUERCERT_BLOB` | proxy issuer SSL certificate from memory blob | +| `CURLOPT_PROXY_ISSUERCERT` | proxy issuer SSL certificate filename | +| `CURLOPT_PROXY_KEYPASSWD` | passphrase for the proxy private key | +| `CURLOPT_PROXY_PINNEDPUBLICKEY` | pinned public key for https proxy | +| `CURLOPT_PROXY_SERVICE_NAME` | proxy authentication service name | +| `CURLOPT_PROXY_SSL_CIPHER_LIST` | ciphers to use for HTTPS proxy | +| `CURLOPT_PROXY_SSL_OPTIONS` | HTTPS proxy SSL behavior options | +| `CURLOPT_PROXY_SSL_VERIFYHOST` | verify the proxy certificate's name against host | +| `CURLOPT_PROXY_SSL_VERIFYPEER` | verify the proxy's SSL certificate | +| `CURLOPT_PROXY_SSLCERT_BLOB` | SSL proxy client certificate from memory blob | +| `CURLOPT_PROXY_SSLCERT` | HTTPS proxy client certificate | +| `CURLOPT_PROXY_SSLCERTTYPE` | type of the proxy client SSL certificate | +| `CURLOPT_PROXY_SSLKEY_BLOB` | private key for proxy cert from memory blob | +| `CURLOPT_PROXY_SSLKEY` | private keyfile for HTTPS proxy client cert | +| `CURLOPT_PROXY_SSLKEYTYPE` | type of the proxy private key file | +| `CURLOPT_PROXY_SSLVERSION` | preferred HTTPS proxy TLS version | +| `CURLOPT_PROXY_TLS13_CIPHERS` | ciphers suites for proxy TLS 1.3 | +| `CURLOPT_PROXY_TLSAUTH_PASSWORD` | password to use for proxy TLS authentication | +| `CURLOPT_PROXY_TLSAUTH_TYPE` | HTTPS proxy TLS authentication methods | +| `CURLOPT_PROXY_TLSAUTH_USERNAME` | user name to use for proxy TLS authentication | +| `CURLOPT_PROXY_TRANSFER_MODE` | append FTP transfer mode to URL for proxy | +| `CURLOPT_PROXY` | proxy to use | +| `CURLOPT_PROXYAUTH` | HTTP proxy authentication methods | +| `CURLOPT_PROXYHEADER` | set of HTTP headers to pass to proxy | +| `CURLOPT_PROXYPASSWORD` | password to use with proxy authentication | +| `CURLOPT_PROXYPORT` | port number the proxy listens on | +| `CURLOPT_PROXYTYPE` | proxy protocol type | +| `CURLOPT_PROXYUSERNAME` | user name to use for proxy authentication | +| `CURLOPT_PROXYUSERPWD` | user name and password to use for proxy authentication | +| `CURLOPT_PUT` | make an HTTP PUT request | +| `CURLOPT_QUICK_EXIT` | allow to exit quickly | +| `CURLOPT_QUOTE` | (S)FTP commands to run before transfer | +| `CURLOPT_RANDOM_FILE` | file to read random data from | +| `CURLOPT_RANGE` | byte range to request | +| `CURLOPT_READDATA` | pointer passed to the read callback | +| `CURLOPT_READFUNCTION` | read callback for data uploads | +| `CURLOPT_REDIR_PROTOCOLS_STR` | protocols allowed to redirect to | +| `CURLOPT_REDIR_PROTOCOLS` | protocols allowed to redirect to | +| `CURLOPT_REFERER` | the HTTP referer header | +| `CURLOPT_REQUEST_TARGET` | alternative target for this request | +| `CURLOPT_RESOLVE` | provide custom host name to IP address resolves | +| `CURLOPT_RESOLVER_START_DATA` | pointer passed to the resolver start callback | +| `CURLOPT_RESOLVER_START_FUNCTION` | callback called before a new name resolve is started | +| `CURLOPT_RESUME_FROM_LARGE` | offset to resume transfer from | +| `CURLOPT_RESUME_FROM` | offset to resume transfer from | +| `CURLOPT_RTSP_CLIENT_CSEQ` | RTSP client CSEQ number | +| `CURLOPT_RTSP_REQUEST` | RTSP request | +| `CURLOPT_RTSP_SERVER_CSEQ` | RTSP server CSEQ number | +| `CURLOPT_RTSP_SESSION_ID` | RTSP session ID | +| `CURLOPT_RTSP_STREAM_URI` | RTSP stream URI | +| `CURLOPT_RTSP_TRANSPORT` | RTSP Transport: header | +| `CURLOPT_SASL_AUTHZID` | authorization identity (identity to act as) | +| `CURLOPT_SASL_IR` | send initial response in first packet | +| `CURLOPT_SEEKDATA` | pointer passed to the seek callback | +| `CURLOPT_SEEKFUNCTION` | user callback for seeking in input stream | +| `CURLOPT_SERVER_RESPONSE_TIMEOUT` | time in seconds allowed to wait for server response | +| `CURLOPT_SERVER_RESPONSE_TIMEOUT_MS` | time in milliseconds allowed to wait for server response | +| `CURLOPT_SERVICE_NAME` | authentication service name | +| `CURLOPT_SHARE` | share handle to use | +| `CURLOPT_SOCKOPTDATA` | pointer to pass to sockopt callback | +| `CURLOPT_SOCKOPTFUNCTION` | callback for setting socket options | +| `CURLOPT_SOCKS5_AUTH` | methods for SOCKS5 proxy authentication | +| `CURLOPT_SOCKS5_GSSAPI_NEC` | socks proxy gssapi negotiation protection | +| `CURLOPT_SOCKS5_GSSAPI_SERVICE` | SOCKS5 proxy authentication service name | +| `CURLOPT_SSH_AUTH_TYPES` | auth types for SFTP and SCP | +| `CURLOPT_SSH_COMPRESSION` | enable SSH compression | +| `CURLOPT_SSH_HOST_PUBLIC_KEY_MD5` | MD5 checksum of SSH server public key | +| `CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256` | SHA256 hash of SSH server public key | +| `CURLOPT_SSH_HOSTKEYDATA` | pointer to pass to the SSH host key callback | +| `CURLOPT_SSH_HOSTKEYFUNCTION` | callback to check host key | +| `CURLOPT_SSH_KEYDATA` | pointer passed to the SSH key callback | +| `CURLOPT_SSH_KEYFUNCTION` | callback for known host matching logic | +| `CURLOPT_SSH_KNOWNHOSTS` | filename holding the SSH known hosts | +| `CURLOPT_SSH_PRIVATE_KEYFILE` | private key file for SSH auth | +| `CURLOPT_SSH_PUBLIC_KEYFILE` | public key file for SSH auth | +| `CURLOPT_SSL_CIPHER_LIST` | ciphers to use for TLS | +| `CURLOPT_SSL_CTX_DATA` | pointer passed to ssl_ctx callback | +| `CURLOPT_SSL_CTX_FUNCTION` | SSL context callback for OpenSSL, wolfSSL or mbedTLS | +| `CURLOPT_SSL_EC_CURVES` | key exchange curves | +| `CURLOPT_SSL_ENABLE_ALPN` | Application Layer Protocol Negotiation | +| `CURLOPT_SSL_ENABLE_NPN` | use NPN | +| `CURLOPT_SSL_FALSESTART` | TLS false start | +| `CURLOPT_SSL_OPTIONS` | SSL behavior options | +| `CURLOPT_SSL_SESSIONID_CACHE` | use the SSL session-ID cache | +| `CURLOPT_SSL_VERIFYHOST` | verify the certificate's name against host | +| `CURLOPT_SSL_VERIFYPEER` | verify the peer's SSL certificate | +| `CURLOPT_SSL_VERIFYSTATUS` | verify the certificate's status | +| `CURLOPT_SSLCERT_BLOB` | SSL client certificate from memory blob | +| `CURLOPT_SSLCERT` | SSL client certificate | +| `CURLOPT_SSLCERTTYPE` | type of client SSL certificate | +| `CURLOPT_SSLENGINE_DEFAULT` | make SSL engine default | +| `CURLOPT_SSLENGINE` | SSL engine identifier | +| `CURLOPT_SSLKEY_BLOB` | private key for client cert from memory blob | +| `CURLOPT_SSLKEY` | private keyfile for TLS and SSL client cert | +| `CURLOPT_SSLKEYTYPE` | type of the private key file | +| `CURLOPT_SSLVERSION` | preferred TLS/SSL version | +| `CURLOPT_STDERR` | redirect stderr to another stream | +| `CURLOPT_STREAM_DEPENDS_E` | stream this transfer depends on exclusively | +| `CURLOPT_STREAM_DEPENDS` | stream this transfer depends on | +| `CURLOPT_STREAM_WEIGHT` | numerical stream weight | +| `CURLOPT_SUPPRESS_CONNECT_HEADERS` | suppress proxy CONNECT response headers from user callbacks | +| `CURLOPT_TCP_FASTOPEN` | TCP Fast Open | +| `CURLOPT_TCP_KEEPALIVE` | TCP keep-alive probing | +| `CURLOPT_TCP_KEEPIDLE` | TCP keep-alive idle time wait | +| `CURLOPT_TCP_KEEPINTVL` | TCP keep-alive interval | +| `CURLOPT_TCP_NODELAY` | the TCP_NODELAY option | +| `CURLOPT_TELNETOPTIONS` | set of telnet options | +| `CURLOPT_TFTP_BLKSIZE` | TFTP block size | +| `CURLOPT_TFTP_NO_OPTIONS` | send no TFTP options requests | +| `CURLOPT_TIMECONDITION` | select condition for a time request | +| `CURLOPT_TIMEOUT_MS` | maximum time the transfer is allowed to complete | +| `CURLOPT_TIMEOUT` | maximum time the transfer is allowed to complete | +| `CURLOPT_TIMEVALUE_LARGE` | time value for conditional | +| `CURLOPT_TIMEVALUE` | time value for conditional | +| `CURLOPT_TLS13_CIPHERS` | ciphers suites to use for TLS 1.3 | +| `CURLOPT_TLSAUTH_PASSWORD` | password to use for TLS authentication | +| `CURLOPT_TLSAUTH_TYPE` | TLS authentication methods | +| `CURLOPT_TLSAUTH_USERNAME` | user name to use for TLS authentication | +| `CURLOPT_TRAILERDATA` | pointer passed to trailing headers callback | +| `CURLOPT_TRAILERFUNCTION` | callback for sending trailing headers | +| `CURLOPT_TRANSFER_ENCODING` | ask for HTTP Transfer Encoding | +| `CURLOPT_TRANSFERTEXT` | request a text based transfer for FTP | +| `CURLOPT_UNIX_SOCKET_PATH` | Unix domain socket | +| `CURLOPT_UNRESTRICTED_AUTH` | send credentials to other hosts too | +| `CURLOPT_UPKEEP_INTERVAL_MS` | connection upkeep interval | +| `CURLOPT_UPLOAD_BUFFERSIZE` | upload buffer size | +| `CURLOPT_UPLOAD` | data upload | +| `CURLOPT_URL` | URL for this transfer | +| `CURLOPT_USE_SSL` | request using SSL / TLS for the transfer | +| `CURLOPT_USERAGENT` | HTTP user-agent header | +| `CURLOPT_USERNAME` | user name to use in authentication | +| `CURLOPT_USERPWD` | user name and password to use in authentication | +| `CURLOPT_VERBOSE` | verbose mode | +| `CURLOPT_WILDCARDMATCH` | directory wildcard transfers | +| `CURLOPT_WRITEDATA` | pointer passed to the write callback | +| `CURLOPT_WRITEFUNCTION` | callback for writing received data | +| `CURLOPT_WS_OPTIONS` | WebSocket behavior options | +| `CURLOPT_XFERINFODATA` | pointer passed to the progress callback | +| `CURLOPT_XFERINFOFUNCTION` | progress meter callback | +| `CURLOPT_XOAUTH2_BEARER` | OAuth 2.0 access token |