Search
K

All options

This is a table of a complete list of all available options for curl_easy_setopt() as of what will be present in the 7.83.0 release, April 2022.
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 file name
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
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
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 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
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
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
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
file name 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