All curl_easy_setopt options listed
All existing options for curl_easy_setopt in alphabetical order.
CURLOPT_ABSTRACT_UNIX_SOCKET | set an abstract Unix domain socket |
CURLOPT_ACCEPTTIMEOUT_MS | timeout waiting for FTP server to connect back |
CURLOPT_ACCEPT_ENCODING | enables automatic decompression of HTTP downloads |
CURLOPT_ADDRESS_SCOPE | set scope id for IPv6 addresses |
CURLOPT_ALTSVC | set alt-svc cache file name |
CURLOPT_ALTSVC_CTRL | control alt-svc behavior |
CURLOPT_APPEND | enable appending to the remote file |
CURLOPT_AUTOREFERER | automatically update the referer header |
CURLOPT_AWS_SIGV4 | V4 signature |
CURLOPT_BUFFERSIZE | set preferred receive buffer size |
CURLOPT_CAINFO | path to Certificate Authority (CA) bundle |
CURLOPT_CAPATH | specify directory holding CA certificates |
CURLOPT_CERTINFO | request SSL certificate information |
CURLOPT_CHUNK_BGN_FUNCTION | callback before a transfer with FTP wildcardmatch |
CURLOPT_CHUNK_DATA | custom pointer 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 function |
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 | set contents of HTTP Cookie header |
CURLOPT_COOKIEFILE | file name to read cookies from |
CURLOPT_COOKIEJAR | file name 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 | enable/disable CRLF conversion |
CURLOPT_CRLFILE | specify a Certificate Revocation List file |
CURLOPT_CURLU | set URL with CURLU * |
CURLOPT_CUSTOMREQUEST | custom string for request |
CURLOPT_DEBUGDATA | custom pointer for 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 | set life-time for DNS cache entries |
CURLOPT_DNS_INTERFACE | set 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 | set preferred DNS servers |
CURLOPT_DNS_SHUFFLE_ADDRESSES | Shuffle addresses when a hostname returns more than one |
CURLOPT_DNS_USE_GLOBAL_CACHE | enable/disable 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 | set EGD socket path |
CURLOPT_ERRORBUFFER | set 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 | custom pointer to fnmatch callback |
CURLOPT_FNMATCH_FUNCTION | wildcard matching function 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 | set order in which to attempt TLS vs SSL when using FTP |
CURLOPT_FTP_ACCOUNT | set 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 | enable/disable use of EPRT with FTP |
CURLOPT_FTP_USE_EPSV | enable/disable use of EPSV |
CURLOPT_FTP_USE_PRET | enable the PRET command |
CURLOPT_GSSAPI_DELEGATION | set 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 | set how to send HTTP headers |
CURLOPT_HSTS | set HSTS cache file name |
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 | |
CURLOPT_HTTP200ALIASES | specify alternative matches for HTTP 200 OK |
CURLOPT_HTTPAUTH | set HTTP server authentication methods to try |
CURLOPT_HTTPGET | ask for an HTTP GET request |
CURLOPT_HTTPHEADER | set custom HTTP headers |
CURLOPT_HTTPPOST | specify the multipart formpost content |
CURLOPT_HTTPPROXYTUNNEL | tunnel through HTTP proxy |
CURLOPT_HTTP_CONTENT_DECODING | enable/disable HTTP content decoding |
CURLOPT_HTTP_TRANSFER_DECODING | enable/disable HTTP transfer decoding |
CURLOPT_HTTP_VERSION | specify HTTP protocol version to use |
CURLOPT_IGNORE_CONTENT_LENGTH | ignore content length |
CURLOPT_INFILESIZE | set size of the input file to send off |
CURLOPT_INFILESIZE_LARGE | set size of the input file to send off |
CURLOPT_INTERFACE | source interface for outgoing traffic |
CURLOPT_INTERLEAVEDATA | custom pointer passed to RTSP interleave callback |
CURLOPT_INTERLEAVEFUNCTION | callback function for RTSP interleaved data |
CURLOPT_IOCTLDATA | custom pointer passed to I/O callback |
CURLOPT_IOCTLFUNCTION | callback for I/O operations |
CURLOPT_IPRESOLVE | specify which 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 | set passphrase to private key |
CURLOPT_KRBLEVEL | set FTP kerberos security level |
CURLOPT_LOCALPORT | set local port number to use for socket |
CURLOPT_LOCALPORTRANGE | number of additional local ports to try |
CURLOPT_LOGIN_OPTIONS | set login options |
CURLOPT_LOW_SPEED_LIMIT | set low speed limit in bytes per second |
CURLOPT_LOW_SPEED_TIME | set 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_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 | set post/send data from mime structure |
CURLOPT_NETRC | request that .netrc is used |
CURLOPT_NETRC_FILE | file name 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 | custom pointer passed to open socket callback |
CURLOPT_OPENSOCKETFUNCTION | set callback for opening sockets |
CURLOPT_PASSWORD | password to use in authentication |
CURLOPT_PATH_AS_IS | do not handle dot dot sequences |
CURLOPT_PINNEDPUBLICKEY | set pinned public key |
CURLOPT_PIPEWAIT | wait for pipelining/multiplexing |
CURLOPT_PORT | set remote port number to work with |
CURLOPT_POST | request an HTTP POST |
CURLOPT_POSTFIELDS | specify 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_PRE_PROXY | set pre-proxy to use |
CURLOPT_PRIVATE | store a private pointer |
CURLOPT_PROGRESSDATA | custom pointer passed to the progress callback |
CURLOPT_PROGRESSFUNCTION | callback to progress meter function |
CURLOPT_PROTOCOLS | set allowed protocols |
CURLOPT_PROXY | set proxy to use |
CURLOPT_PROXYAUTH | set HTTP proxy authentication methods to try |
CURLOPT_PROXYHEADER | custom 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_CAPATH | specify directory holding proxy CA certificates |
CURLOPT_PROXY_CRLFILE | specify a proxy Certificate Revocation List file |
CURLOPT_PROXY_ISSUERCERT | proxy issuer SSL certificate filename |
CURLOPT_PROXY_ISSUERCERT_BLOB | |
CURLOPT_PROXY_KEYPASSWD | set passphrase to proxy private key |
CURLOPT_PROXY_PINNEDPUBLICKEY | set pinned public key for https proxy |
CURLOPT_PROXY_SERVICE_NAME | proxy authentication service name |
CURLOPT_PROXY_SSLCERT | set SSL proxy client certificate |
CURLOPT_PROXY_SSLCERTTYPE | specify type of the proxy client SSL certificate |
CURLOPT_PROXY_SSLCERT_BLOB | SSL proxy client certificate from memory blob |
CURLOPT_PROXY_SSLKEY | specify private keyfile for TLS and SSL proxy client cert |
CURLOPT_PROXY_SSLKEYTYPE | set type of the proxy private key file |
CURLOPT_PROXY_SSLKEY_BLOB | private key for proxy cert from memory blob |
CURLOPT_PROXY_SSLVERSION | set preferred proxy TLS/SSL version |
CURLOPT_PROXY_SSL_CIPHER_LIST | specify ciphers to use for proxy TLS |
CURLOPT_PROXY_SSL_OPTIONS | set 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 | set 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 | specify a source for random data |
CURLOPT_RANGE | set byte range to request |
CURLOPT_READDATA | custom pointer passed to the read callback |
CURLOPT_READFUNCTION | read callback for data uploads |
CURLOPT_REDIR_PROTOCOLS | set protocols allowed to redirect to |
CURLOPT_REFERER | set the HTTP referer header |
CURLOPT_REQUEST_TARGET | specify an alternative target for this request |
CURLOPT_RESOLVE | provide custom host name to IP address resolves |
CURLOPT_RESOLVER_START_DATA | custom pointer passed to the resolver start callback |
CURLOPT_RESOLVER_START_FUNCTION | set callback to be called before a new resolve request is started |
CURLOPT_RESUME_FROM | set a point to resume transfer from |
CURLOPT_RESUME_FROM_LARGE | set a point to resume transfer from |
CURLOPT_RTSP_CLIENT_CSEQ | set the RTSP client CSEQ number |
CURLOPT_RTSP_REQUEST | specify RTSP request |
CURLOPT_RTSP_SERVER_CSEQ | set the RTSP server CSEQ number |
CURLOPT_RTSP_SESSION_ID | set RTSP session ID |
CURLOPT_RTSP_STREAM_URI | set RTSP stream URI |
CURLOPT_RTSP_TRANSPORT | set RTSP Transport: header |
CURLOPT_SASL_AUTHZID | authorisation identity (identity to act as) |
CURLOPT_SASL_IR | enable sending initial response in first packet |
CURLOPT_SEEKDATA | custom pointer passed to the seek callback |
CURLOPT_SEEKFUNCTION | user callback for seeking in input stream |
CURLOPT_SERVICE_NAME | authentication service name |
CURLOPT_SHARE | specify share handle to use |
CURLOPT_SOCKOPTDATA | custom pointer to pass to sockopt callback |
CURLOPT_SOCKOPTFUNCTION | set callback for setting socket options |
CURLOPT_SOCKS5_AUTH | set allowed methods for SOCKS5 proxy authentication |
CURLOPT_SOCKS5_GSSAPI_NEC | set socks proxy gssapi negotiation protection |
CURLOPT_SOCKS5_GSSAPI_SERVICE | SOCKS5 proxy authentication service name |
CURLOPT_SSH_AUTH_TYPES | set desired auth types for SFTP and SCP |
CURLOPT_SSH_COMPRESSION | enables compression / decompression of SSH traffic |
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 | checksum of SSH server public key |
CURLOPT_SSH_KEYDATA | pointer to pass to the SSH key callback |
CURLOPT_SSH_KEYFUNCTION | callback for known host matching logic |
CURLOPT_SSH_KNOWNHOSTS | file name holding the SSH known hosts |
CURLOPT_SSH_PRIVATE_KEYFILE | set private key file for SSH auth |
CURLOPT_SSH_PUBLIC_KEYFILE | set public key file for SSH auth |
CURLOPT_SSLCERT | set SSL client certificate |
CURLOPT_SSLCERTTYPE | specify type of the client SSL certificate |
CURLOPT_SSLCERT_BLOB | SSL client certificate from memory blob |
CURLOPT_SSLENGINE | set SSL engine identifier |
CURLOPT_SSLENGINE_DEFAULT | make SSL engine default |
CURLOPT_SSLKEY | specify private keyfile for TLS and SSL client cert |
CURLOPT_SSLKEYTYPE | set type of the private key file |
CURLOPT_SSLKEY_BLOB | private key for client cert from memory blob |
CURLOPT_SSLVERSION | set preferred TLS/SSL version |
CURLOPT_SSL_CIPHER_LIST | specify ciphers to use for TLS |
CURLOPT_SSL_CTX_DATA | custom pointer passed to ssl_ctx callback |
CURLOPT_SSL_CTX_FUNCTION | SSL context callback for OpenSSL, wolfSSL or mbedTLS |
CURLOPT_SSL_EC_CURVES | set key exchange curves |
CURLOPT_SSL_ENABLE_ALPN | enable ALPN |
CURLOPT_SSL_ENABLE_NPN | enable NPN |
CURLOPT_SSL_FALSESTART | enable TLS false start |
CURLOPT_SSL_OPTIONS | set SSL behavior options |
CURLOPT_SSL_SESSIONID_CACHE | enable/disable use of 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 | set stream this transfer depends on |
CURLOPT_STREAM_DEPENDS_E | set stream this transfer depends on exclusively |
CURLOPT_STREAM_WEIGHT | set numerical stream weight |
CURLOPT_SUPPRESS_CONNECT_HEADERS | Suppress proxy CONNECT response headers from user callbacks |
CURLOPT_TCP_FASTOPEN | enable TCP Fast Open |
CURLOPT_TCP_KEEPALIVE | enable TCP keep-alive probing |
CURLOPT_TCP_KEEPIDLE | set TCP keep-alive idle time wait |
CURLOPT_TCP_KEEPINTVL | set TCP keep-alive interval |
CURLOPT_TCP_NODELAY | set the TCP_NODELAY option |
CURLOPT_TELNETOPTIONS | custom telnet options |
CURLOPT_TFTP_BLKSIZE | TFTP block size |
CURLOPT_TFTP_NO_OPTIONS | Do not send TFTP options requests. |
CURLOPT_TIMECONDITION | select condition for a time request |
CURLOPT_TIMEOUT | set maximum time the request is allowed to take |
CURLOPT_TIMEOUT_MS | set maximum time the request is allowed to take |
CURLOPT_TIMEVALUE | set time value for conditional |
CURLOPT_TIMEVALUE_LARGE | set time value for conditional |
CURLOPT_TLS13_CIPHERS | specify ciphers suites to use for TLS 1.3 |
CURLOPT_TLSAUTH_PASSWORD | password to use for TLS authentication |
CURLOPT_TLSAUTH_TYPE | set TLS authentication methods |
CURLOPT_TLSAUTH_USERNAME | user name to use for TLS authentication |
CURLOPT_TRAILERDATA | Custom pointer passed to the trailing headers callback |
CURLOPT_TRAILERFUNCTION | Set 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 | set Unix domain socket |
CURLOPT_UNRESTRICTED_AUTH | send credentials to other hosts too |
CURLOPT_UPKEEP_INTERVAL_MS | connection upkeep interval |
CURLOPT_UPLOAD | enable data upload |
CURLOPT_UPLOAD_BUFFERSIZE | set preferred upload buffer size |
CURLOPT_URL | provide the URL to use in the request |
CURLOPT_USERAGENT | set 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 | set verbose mode on/off |
CURLOPT_WILDCARDMATCH | enable directory wildcard transfers |
CURLOPT_WRITEDATA | custom pointer passed to the write callback |
CURLOPT_WRITEFUNCTION | set callback for writing received data |
CURLOPT_XFERINFODATA | custom pointer passed to the progress callback |
CURLOPT_XFERINFOFUNCTION | callback to progress meter function |
CURLOPT_XOAUTH2_BEARER | specify OAuth 2.0 access token |