FreeBSD Manual Pages
curl_easy_setopt(3) libcurl Manual curl_easy_setopt(3) NAME curl_easy_setopt - set options for a curl easy handle SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter); DESCRIPTION curl_easy_setopt(3) is used to tell libcurl how to behave. By setting the appropriate options, the application can change libcurl's behavior. All options are set with an option followed by a parameter. That param- eter can be a long, a function pointer, an object pointer or a curl_off_t, depending on what the specific option expects. Read this manual carefully as bad input values may cause libcurl to behave badly! You can only set one option in each function call. A typical applica- tion uses many curl_easy_setopt(3) calls in the setup phase. Options set with this function call are valid for all forthcoming transfers performed using this handle. The options are not in any way reset between transfers, so if you want subsequent transfers with dif- ferent options, you must change them between the transfers. You can op- tionally reset all options back to internal default with curl_easy_re- set(3). Strings passed to libcurl as 'char *' arguments, are copied by the li- brary; thus the string storage associated to the pointer argument may be overwritten after curl_easy_setopt(3) returns. The only exception to this rule is really CURLOPT_POSTFIELDS(3), but the alternative that copies the string CURLOPT_COPYPOSTFIELDS(3) has some usage characteris- tics you need to read up on. This function does not accept input strings longer than CURL_MAX_INPUT_LENGTH (8 MB). The order in which the options are set does not matter. Before version 7.17.0, strings were not copied. Instead the user was forced keep them available until libcurl no longer needed them. The handle is the return code from a curl_easy_init(3) or curl_easy_duphandle(3) call. BEHAVIOR OPTIONS CURLOPT_VERBOSE Display verbose information. See CURLOPT_VERBOSE(3) CURLOPT_HEADER Include the header in the body output. See CURLOPT_HEADER(3) CURLOPT_NOPROGRESS Shut off the progress meter. See CURLOPT_NOPROGRESS(3) CURLOPT_NOSIGNAL Do not install signal handlers. See CURLOPT_NOSIGNAL(3) CURLOPT_WILDCARDMATCH Transfer multiple files according to a file name pattern. See CURLOPT_WILDCARDMATCH(3) CALLBACK OPTIONS CURLOPT_WRITEFUNCTION Callback for writing data. See CURLOPT_WRITEFUNCTION(3) CURLOPT_WRITEDATA Data pointer to pass to the write callback. See CURLOPT_WRITE- DATA(3) CURLOPT_READFUNCTION Callback for reading data. See CURLOPT_READFUNCTION(3) CURLOPT_READDATA Data pointer to pass to the read callback. See CURLOPT_READ- DATA(3) CURLOPT_IOCTLFUNCTION Callback for I/O operations. See CURLOPT_IOCTLFUNCTION(3) CURLOPT_IOCTLDATA Data pointer to pass to the I/O callback. See CURLOPT_IOCTL- DATA(3) CURLOPT_SEEKFUNCTION Callback for seek operations. See CURLOPT_SEEKFUNCTION(3) CURLOPT_SEEKDATA Data pointer to pass to the seek callback. See CURLOPT_SEEK- DATA(3) CURLOPT_SOCKOPTFUNCTION Callback for sockopt operations. See CURLOPT_SOCKOPTFUNCTION(3) CURLOPT_SOCKOPTDATA Data pointer to pass to the sockopt callback. See CURLOPT_SOCK- OPTDATA(3) CURLOPT_OPENSOCKETFUNCTION Callback for socket creation. See CURLOPT_OPENSOCKETFUNCTION(3) CURLOPT_OPENSOCKETDATA Data pointer to pass to the open socket callback. See CUR- LOPT_OPENSOCKETDATA(3) CURLOPT_CLOSESOCKETFUNCTION Callback for closing socket. See CURLOPT_CLOSESOCKETFUNCTION(3) CURLOPT_CLOSESOCKETDATA Data pointer to pass to the close socket callback. See CUR- LOPT_CLOSESOCKETDATA(3) CURLOPT_PROGRESSFUNCTION OBSOLETE callback for progress meter. See CURLOPT_PROGRESSFUNC- TION(3) CURLOPT_PROGRESSDATA Data pointer to pass to the progress meter callback. See CUR- LOPT_PROGRESSDATA(3) CURLOPT_XFERINFOFUNCTION Callback for progress meter. See CURLOPT_XFERINFOFUNCTION(3) CURLOPT_XFERINFODATA Data pointer to pass to the progress meter callback. See CUR- LOPT_XFERINFODATA(3) CURLOPT_HEADERFUNCTION Callback for writing received headers. See CURLOPT_HEADERFUNC- TION(3) CURLOPT_HEADERDATA Data pointer to pass to the header callback. See CURLOPT_HEADER- DATA(3) CURLOPT_DEBUGFUNCTION Callback for debug information. See CURLOPT_DEBUGFUNCTION(3) CURLOPT_DEBUGDATA Data pointer to pass to the debug callback. See CURLOPT_DEBUG- DATA(3) CURLOPT_SSL_CTX_FUNCTION Callback for SSL context logic. See CURLOPT_SSL_CTX_FUNCTION(3) CURLOPT_SSL_CTX_DATA Data pointer to pass to the SSL context callback. See CUR- LOPT_SSL_CTX_DATA(3) CURLOPT_CONV_TO_NETWORK_FUNCTION Callback for code base conversion. See CURLOPT_CONV_TO_NET- WORK_FUNCTION(3) CURLOPT_CONV_FROM_NETWORK_FUNCTION Callback for code base conversion. See CURLOPT_CONV_FROM_NET- WORK_FUNCTION(3) CURLOPT_CONV_FROM_UTF8_FUNCTION Callback for code base conversion. See CUR- LOPT_CONV_FROM_UTF8_FUNCTION(3) CURLOPT_INTERLEAVEFUNCTION Callback for RTSP interleaved data. See CURLOPT_INTERLEAVEFUNC- TION(3) CURLOPT_INTERLEAVEDATA Data pointer to pass to the RTSP interleave callback. See CUR- LOPT_INTERLEAVEDATA(3) CURLOPT_CHUNK_BGN_FUNCTION Callback for wildcard download start of chunk. See CUR- LOPT_CHUNK_BGN_FUNCTION(3) CURLOPT_CHUNK_END_FUNCTION Callback for wildcard download end of chunk. See CUR- LOPT_CHUNK_END_FUNCTION(3) CURLOPT_CHUNK_DATA Data pointer to pass to the chunk callbacks. See CUR- LOPT_CHUNK_DATA(3) CURLOPT_FNMATCH_FUNCTION Callback for wildcard matching. See CURLOPT_FNMATCH_FUNCTION(3) CURLOPT_FNMATCH_DATA Data pointer to pass to the wildcard matching callback. See CUR- LOPT_FNMATCH_DATA(3) CURLOPT_SUPPRESS_CONNECT_HEADERS Suppress proxy CONNECT response headers from user callbacks. See CURLOPT_SUPPRESS_CONNECT_HEADERS(3) CURLOPT_RESOLVER_START_FUNCTION Callback to be called before a new resolve request is started. See CURLOPT_RESOLVER_START_FUNCTION(3) CURLOPT_RESOLVER_START_DATA Data pointer to pass to resolver start callback. See CURLOPT_RE- SOLVER_START_DATA(3) ERROR OPTIONS CURLOPT_ERRORBUFFER Error message buffer. See CURLOPT_ERRORBUFFER(3) CURLOPT_STDERR stderr replacement stream. See CURLOPT_STDERR(3) CURLOPT_FAILONERROR Fail on HTTP 4xx errors. CURLOPT_FAILONERROR(3) CURLOPT_KEEP_SENDING_ON_ERROR Keep sending on HTTP >= 300 errors. CURLOPT_KEEP_SENDING_ON_ER- ROR(3) NETWORK OPTIONS CURLOPT_URL URL to work on. See CURLOPT_URL(3) CURLOPT_PATH_AS_IS Disable squashing /../ and /./ sequences in the path. See CUR- LOPT_PATH_AS_IS(3) CURLOPT_PROTOCOLS Allowed protocols. See CURLOPT_PROTOCOLS(3) CURLOPT_REDIR_PROTOCOLS Protocols to allow redirects to. See CURLOPT_REDIR_PROTOCOLS(3) CURLOPT_DEFAULT_PROTOCOL Default protocol. See CURLOPT_DEFAULT_PROTOCOL(3) CURLOPT_PROXY Proxy to use. See CURLOPT_PROXY(3) CURLOPT_PRE_PROXY Socks proxy to use. See CURLOPT_PRE_PROXY(3) CURLOPT_PROXYPORT Proxy port to use. See CURLOPT_PROXYPORT(3) CURLOPT_PROXYTYPE Proxy type. See CURLOPT_PROXYTYPE(3) CURLOPT_NOPROXY Filter out hosts from proxy use. CURLOPT_NOPROXY(3) CURLOPT_HTTPPROXYTUNNEL Tunnel through the HTTP proxy. CURLOPT_HTTPPROXYTUNNEL(3) CURLOPT_CONNECT_TO Connect to a specific host and port. See CURLOPT_CONNECT_TO(3) CURLOPT_SOCKS5_AUTH Socks5 authentication methods. See CURLOPT_SOCKS5_AUTH(3) CURLOPT_SOCKS5_GSSAPI_SERVICE Socks5 GSSAPI service name. CURLOPT_SOCKS5_GSSAPI_SERVICE(3) CURLOPT_SOCKS5_GSSAPI_NEC Socks5 GSSAPI NEC mode. See CURLOPT_SOCKS5_GSSAPI_NEC(3) CURLOPT_PROXY_SERVICE_NAME Proxy authentication service name. CURLOPT_PROXY_SERVICE_NAME(3) CURLOPT_HAPROXYPROTOCOL Send an HAProxy PROXY protocol v1 header. See CURLOPT_HAPROX- YPROTOCOL(3) CURLOPT_SERVICE_NAME Authentication service name. CURLOPT_SERVICE_NAME(3) CURLOPT_INTERFACE Bind connection locally to this. See CURLOPT_INTERFACE(3) CURLOPT_LOCALPORT Bind connection locally to this port. See CURLOPT_LOCALPORT(3) CURLOPT_LOCALPORTRANGE Bind connection locally to port range. See CURLOPT_LOCALPOR- TRANGE(3) CURLOPT_DNS_CACHE_TIMEOUT Timeout for DNS cache. See CURLOPT_DNS_CACHE_TIMEOUT(3) CURLOPT_DNS_USE_GLOBAL_CACHE OBSOLETE Enable global DNS cache. See CUR- LOPT_DNS_USE_GLOBAL_CACHE(3) CURLOPT_DOH_URL Use this DOH server for name resolves. See CURLOPT_DOH_URL(3) CURLOPT_BUFFERSIZE Ask for alternate buffer size. See CURLOPT_BUFFERSIZE(3) CURLOPT_PORT Port number to connect to. See CURLOPT_PORT(3) CURLOPT_TCP_FASTOPEN Enable TFO, TCP Fast Open. See CURLOPT_TCP_FASTOPEN(3) CURLOPT_TCP_NODELAY Disable the Nagle algorithm. See CURLOPT_TCP_NODELAY(3) CURLOPT_ADDRESS_SCOPE IPv6 scope for local addresses. See CURLOPT_ADDRESS_SCOPE(3) CURLOPT_TCP_KEEPALIVE Enable TCP keep-alive. See CURLOPT_TCP_KEEPALIVE(3) CURLOPT_TCP_KEEPIDLE Idle time before sending keep-alive. See CURLOPT_TCP_KEEPIDLE(3) CURLOPT_TCP_KEEPINTVL Interval between keep-alive probes. See CURLOPT_TCP_KEEPINTVL(3) CURLOPT_UNIX_SOCKET_PATH Path to a Unix domain socket. See CURLOPT_UNIX_SOCKET_PATH(3) CURLOPT_ABSTRACT_UNIX_SOCKET Path to an abstract Unix domain socket. See CURLOPT_AB- STRACT_UNIX_SOCKET(3) NAMES and PASSWORDS OPTIONS (Authentication) CURLOPT_NETRC Enable .netrc parsing. See CURLOPT_NETRC(3) CURLOPT_NETRC_FILE .netrc file name. See CURLOPT_NETRC_FILE(3) CURLOPT_USERPWD User name and password. See CURLOPT_USERPWD(3) CURLOPT_PROXYUSERPWD Proxy user name and password. See CURLOPT_PROXYUSERPWD(3) CURLOPT_USERNAME User name. See CURLOPT_USERNAME(3) CURLOPT_PASSWORD Password. See CURLOPT_PASSWORD(3) CURLOPT_LOGIN_OPTIONS Login options. See CURLOPT_LOGIN_OPTIONS(3) CURLOPT_PROXYUSERNAME Proxy user name. See CURLOPT_PROXYUSERNAME(3) CURLOPT_PROXYPASSWORD Proxy password. See CURLOPT_PROXYPASSWORD(3) CURLOPT_HTTPAUTH HTTP server authentication methods. See CURLOPT_HTTPAUTH(3) CURLOPT_TLSAUTH_USERNAME TLS authentication user name. See CURLOPT_TLSAUTH_USERNAME(3) CURLOPT_PROXY_TLSAUTH_USERNAME Proxy TLS authentication user name. See CURLOPT_PROXY_TL- SAUTH_USERNAME(3) CURLOPT_TLSAUTH_PASSWORD TLS authentication password. See CURLOPT_TLSAUTH_PASSWORD(3) CURLOPT_PROXY_TLSAUTH_PASSWORD Proxy TLS authentication password. See CURLOPT_PROXY_TL- SAUTH_PASSWORD(3) CURLOPT_TLSAUTH_TYPE TLS authentication methods. See CURLOPT_TLSAUTH_TYPE(3) CURLOPT_PROXY_TLSAUTH_TYPE Proxy TLS authentication methods. See CURLOPT_PROXY_TL- SAUTH_TYPE(3) CURLOPT_PROXYAUTH HTTP proxy authentication methods. See CURLOPT_PROXYAUTH(3) CURLOPT_SASL_AUTHZID SASL authorisation identity (identity to act as). See CUR- LOPT_SASL_AUTHZID(3) CURLOPT_SASL_IR Enable SASL initial response. See CURLOPT_SASL_IR(3) CURLOPT_XOAUTH2_BEARER OAuth2 bearer token. See CURLOPT_XOAUTH2_BEARER(3) CURLOPT_DISALLOW_USERNAME_IN_URL Don't allow username in URL. See CURLOPT_DISALLOW_USER- NAME_IN_URL(3) HTTP OPTIONS CURLOPT_AUTOREFERER Automatically set Referer: header. See CURLOPT_AUTOREFERER(3) CURLOPT_ACCEPT_ENCODING Accept-Encoding and automatic decompressing data. See CUR- LOPT_ACCEPT_ENCODING(3) CURLOPT_TRANSFER_ENCODING Request Transfer-Encoding. See CURLOPT_TRANSFER_ENCODING(3) CURLOPT_FOLLOWLOCATION Follow HTTP redirects. See CURLOPT_FOLLOWLOCATION(3) CURLOPT_UNRESTRICTED_AUTH Do not restrict authentication to original host. CURLOPT_UNRE- STRICTED_AUTH(3) CURLOPT_MAXREDIRS Maximum number of redirects to follow. See CURLOPT_MAXREDIRS(3) CURLOPT_POSTREDIR How to act on redirects after POST. See CURLOPT_POSTREDIR(3) CURLOPT_PUT Issue an HTTP PUT request. See CURLOPT_PUT(3) CURLOPT_POST Issue an HTTP POST request. See CURLOPT_POST(3) CURLOPT_POSTFIELDS Send a POST with this data. See CURLOPT_POSTFIELDS(3) CURLOPT_POSTFIELDSIZE The POST data is this big. See CURLOPT_POSTFIELDSIZE(3) CURLOPT_POSTFIELDSIZE_LARGE The POST data is this big. See CURLOPT_POSTFIELDSIZE_LARGE(3) CURLOPT_COPYPOSTFIELDS Send a POST with this data - and copy it. See CURLOPT_COPYPOST- FIELDS(3) CURLOPT_HTTPPOST Multipart formpost HTTP POST. See CURLOPT_HTTPPOST(3) CURLOPT_REFERER Referer: header. See CURLOPT_REFERER(3) CURLOPT_USERAGENT User-Agent: header. See CURLOPT_USERAGENT(3) CURLOPT_HTTPHEADER Custom HTTP headers. See CURLOPT_HTTPHEADER(3) CURLOPT_HEADEROPT Control custom headers. See CURLOPT_HEADEROPT(3) CURLOPT_PROXYHEADER Custom HTTP headers sent to proxy. See CURLOPT_PROXYHEADER(3) CURLOPT_HTTP200ALIASES Alternative versions of 200 OK. See CURLOPT_HTTP200ALIASES(3) CURLOPT_COOKIE Cookie(s) to send. See CURLOPT_COOKIE(3) CURLOPT_COOKIEFILE File to read cookies from. See CURLOPT_COOKIEFILE(3) CURLOPT_COOKIEJAR File to write cookies to. See CURLOPT_COOKIEJAR(3) CURLOPT_COOKIESESSION Start a new cookie session. See CURLOPT_COOKIESESSION(3) CURLOPT_COOKIELIST Add or control cookies. See CURLOPT_COOKIELIST(3) CURLOPT_ALTSVC Specify the Alt-Svc: cache file name. See CURLOPT_ALTSVC(3) CURLOPT_ALTSVC_CTRL Enable and configure Alt-Svc: treatment. See CUR- LOPT_ALTSVC_CTRL(3) CURLOPT_HSTS Set HSTS cache file. See CURLOPT_HSTS(3) CURLOPT_HSTS_CTRL Enable HSTS. See CURLOPT_HSTS_CTRL(3) CURLOPT_HSTSREADFUNCTION Set HSTS read callback. See CURLOPT_HSTSREADFUNCTION(3) CURLOPT_HSTSREADDATA Pass pointer to the HSTS read callback. See CURLOPT_HSTSREAD- DATA(3) CURLOPT_HSTSWRITEFUNCTION Set HSTS write callback. See CURLOPT_HSTSWRITEFUNCTION(3) CURLOPT_HSTSWRITEDATA Pass pointer to the HSTS write callback. See CURLOPT_HSTSWRITE- DATA(3) CURLOPT_HTTPGET Do an HTTP GET request. See CURLOPT_HTTPGET(3) CURLOPT_REQUEST_TARGET Set the request target. CURLOPT_REQUEST_TARGET(3) CURLOPT_HTTP_VERSION HTTP version to use. CURLOPT_HTTP_VERSION(3) CURLOPT_HTTP09_ALLOWED Allow HTTP/0.9 responses. CURLOPT_HTTP09_ALLOWED(3) CURLOPT_IGNORE_CONTENT_LENGTH Ignore Content-Length. See CURLOPT_IGNORE_CONTENT_LENGTH(3) CURLOPT_HTTP_CONTENT_DECODING Disable Content decoding. See CURLOPT_HTTP_CONTENT_DECODING(3) CURLOPT_HTTP_TRANSFER_DECODING Disable Transfer decoding. See CURLOPT_HTTP_TRANSFER_DECODING(3) CURLOPT_EXPECT_100_TIMEOUT_MS 100-continue timeout. See CURLOPT_EXPECT_100_TIMEOUT_MS(3) CURLOPT_TRAILERFUNCTION Set callback for sending trailing headers. See CURLOPT_TRAILER- FUNCTION(3) CURLOPT_TRAILERDATA Custom pointer passed to the trailing headers callback. See CUR- LOPT_TRAILERDATA(3) CURLOPT_PIPEWAIT Wait on connection to pipeline on it. See CURLOPT_PIPEWAIT(3) CURLOPT_STREAM_DEPENDS This HTTP/2 stream depends on another. See CURLOPT_STREAM_DE- PENDS(3) CURLOPT_STREAM_DEPENDS_E This HTTP/2 stream depends on another exclusively. See CUR- LOPT_STREAM_DEPENDS_E(3) CURLOPT_STREAM_WEIGHT Set this HTTP/2 stream's weight. See CURLOPT_STREAM_WEIGHT(3) SMTP OPTIONS CURLOPT_MAIL_FROM Address of the sender. See CURLOPT_MAIL_FROM(3) CURLOPT_MAIL_RCPT Address of the recipients. See CURLOPT_MAIL_RCPT(3) CURLOPT_MAIL_AUTH Authentication address. See CURLOPT_MAIL_AUTH(3) CURLOPT_MAIL_RCPT_ALLLOWFAILS Allow RCPT TO command to fail for some recipients. See CUR- LOPT_MAIL_RCPT_ALLLOWFAILS(3) TFTP OPTIONS CURLOPT_TFTP_BLKSIZE TFTP block size. See CURLOPT_TFTP_BLKSIZE(3) CURLOPT_TFTP_NO_OPTIONS Do not send TFTP options requests. See CURLOPT_TFTP_NO_OP- TIONS(3) FTP OPTIONS CURLOPT_FTPPORT Use active FTP. See CURLOPT_FTPPORT(3) CURLOPT_QUOTE Commands to run before transfer. See CURLOPT_QUOTE(3) CURLOPT_POSTQUOTE Commands to run after transfer. See CURLOPT_POSTQUOTE(3) CURLOPT_PREQUOTE Commands to run just before transfer. See CURLOPT_PREQUOTE(3) CURLOPT_APPEND Append to remote file. See CURLOPT_APPEND(3) CURLOPT_FTP_USE_EPRT Use EPTR. See CURLOPT_FTP_USE_EPRT(3) CURLOPT_FTP_USE_EPSV Use EPSV. See CURLOPT_FTP_USE_EPSV(3) CURLOPT_FTP_USE_PRET Use PRET. See CURLOPT_FTP_USE_PRET(3) CURLOPT_FTP_CREATE_MISSING_DIRS Create missing directories on the remote server. See CUR- LOPT_FTP_CREATE_MISSING_DIRS(3) CURLOPT_FTP_RESPONSE_TIMEOUT Timeout for FTP responses. See CURLOPT_FTP_RESPONSE_TIMEOUT(3) CURLOPT_FTP_ALTERNATIVE_TO_USER Alternative to USER. See CURLOPT_FTP_ALTERNATIVE_TO_USER(3) CURLOPT_FTP_SKIP_PASV_IP Ignore the IP address in the PASV response. See CUR- LOPT_FTP_SKIP_PASV_IP(3) CURLOPT_FTPSSLAUTH Control how to do TLS. See CURLOPT_FTPSSLAUTH(3) CURLOPT_FTP_SSL_CCC Back to non-TLS again after authentication. See CUR- LOPT_FTP_SSL_CCC(3) CURLOPT_FTP_ACCOUNT Send ACCT command. See CURLOPT_FTP_ACCOUNT(3) CURLOPT_FTP_FILEMETHOD Specify how to reach files. See CURLOPT_FTP_FILEMETHOD(3) RTSP OPTIONS CURLOPT_RTSP_REQUEST RTSP request. See CURLOPT_RTSP_REQUEST(3) CURLOPT_RTSP_SESSION_ID RTSP session-id. See CURLOPT_RTSP_SESSION_ID(3) CURLOPT_RTSP_STREAM_URI RTSP stream URI. See CURLOPT_RTSP_STREAM_URI(3) CURLOPT_RTSP_TRANSPORT RTSP Transport: header. See CURLOPT_RTSP_TRANSPORT(3) CURLOPT_RTSP_CLIENT_CSEQ Client CSEQ number. See CURLOPT_RTSP_CLIENT_CSEQ(3) CURLOPT_RTSP_SERVER_CSEQ CSEQ number for RTSP Server->Client request. See CUR- LOPT_RTSP_SERVER_CSEQ(3) PROTOCOL OPTIONS CURLOPT_TRANSFERTEXT Use text transfer. See CURLOPT_TRANSFERTEXT(3) CURLOPT_PROXY_TRANSFER_MODE Add transfer mode to URL over proxy. See CURLOPT_PROXY_TRANS- FER_MODE(3) CURLOPT_CRLF Convert newlines. See CURLOPT_CRLF(3) CURLOPT_RANGE Range requests. See CURLOPT_RANGE(3) CURLOPT_RESUME_FROM Resume a transfer. See CURLOPT_RESUME_FROM(3) CURLOPT_RESUME_FROM_LARGE Resume a transfer. See CURLOPT_RESUME_FROM_LARGE(3) CURLOPT_CURLU Set URL to work on with CURLU *. See CURLOPT_CURLU(3) CURLOPT_CUSTOMREQUEST Custom request/method. See CURLOPT_CUSTOMREQUEST(3) CURLOPT_FILETIME Request file modification date and time. See CURLOPT_FILETIME(3) CURLOPT_DIRLISTONLY List only. See CURLOPT_DIRLISTONLY(3) CURLOPT_NOBODY Do not get the body contents. See CURLOPT_NOBODY(3) CURLOPT_INFILESIZE Size of file to send. CURLOPT_INFILESIZE(3) CURLOPT_INFILESIZE_LARGE Size of file to send. CURLOPT_INFILESIZE_LARGE(3) CURLOPT_UPLOAD Upload data. See CURLOPT_UPLOAD(3) CURLOPT_UPLOAD_BUFFERSIZE Set upload buffer size. See CURLOPT_UPLOAD_BUFFERSIZE(3) CURLOPT_MIMEPOST Post/send MIME data. See CURLOPT_MIMEPOST(3) CURLOPT_MAXFILESIZE Maximum file size to get. See CURLOPT_MAXFILESIZE(3) CURLOPT_MAXFILESIZE_LARGE Maximum file size to get. See CURLOPT_MAXFILESIZE_LARGE(3) CURLOPT_TIMECONDITION Make a time conditional request. See CURLOPT_TIMECONDITION(3) CURLOPT_TIMEVALUE Time value for the time conditional request. See CUR- LOPT_TIMEVALUE(3) CURLOPT_TIMEVALUE_LARGE Time value for the time conditional request. See CUR- LOPT_TIMEVALUE_LARGE(3) CONNECTION OPTIONS CURLOPT_TIMEOUT Timeout for the entire request. See CURLOPT_TIMEOUT(3) CURLOPT_TIMEOUT_MS Millisecond timeout for the entire request. See CURLOPT_TIME- OUT_MS(3) CURLOPT_LOW_SPEED_LIMIT Low speed limit to abort transfer. See CUR- LOPT_LOW_SPEED_LIMIT(3) CURLOPT_LOW_SPEED_TIME Time to be below the speed to trigger low speed abort. See CUR- LOPT_LOW_SPEED_TIME(3) CURLOPT_MAX_SEND_SPEED_LARGE Cap the upload speed to this. See CUR- LOPT_MAX_SEND_SPEED_LARGE(3) CURLOPT_MAX_RECV_SPEED_LARGE Cap the download speed to this. See CUR- LOPT_MAX_RECV_SPEED_LARGE(3) CURLOPT_MAXCONNECTS Maximum number of connections in the connection pool. See CUR- LOPT_MAXCONNECTS(3) CURLOPT_FRESH_CONNECT Use a new connection. CURLOPT_FRESH_CONNECT(3) CURLOPT_FORBID_REUSE Prevent subsequent connections from re-using this. See CUR- LOPT_FORBID_REUSE(3) CURLOPT_MAXAGE_CONN Limit the age of connections for reuse. See CURLOPT_MAX- AGE_CONN(3) CURLOPT_CONNECTTIMEOUT Timeout for the connection phase. See CURLOPT_CONNECTTIMEOUT(3) CURLOPT_CONNECTTIMEOUT_MS Millisecond timeout for the connection phase. See CURLOPT_CON- NECTTIMEOUT_MS(3) CURLOPT_IPRESOLVE IP version to resolve to. See CURLOPT_IPRESOLVE(3) CURLOPT_CONNECT_ONLY Only connect, nothing else. See CURLOPT_CONNECT_ONLY(3) CURLOPT_USE_SSL Use TLS/SSL. See CURLOPT_USE_SSL(3) CURLOPT_RESOLVE Provide fixed/fake name resolves. See CURLOPT_RESOLVE(3) CURLOPT_DNS_INTERFACE Bind name resolves to this interface. See CURLOPT_DNS_INTER- FACE(3) CURLOPT_DNS_LOCAL_IP4 Bind name resolves to this IP4 address. See CURLOPT_DNS_LO- CAL_IP4(3) CURLOPT_DNS_LOCAL_IP6 Bind name resolves to this IP6 address. See CURLOPT_DNS_LO- CAL_IP6(3) CURLOPT_DNS_SERVERS Preferred DNS servers. See CURLOPT_DNS_SERVERS(3) CURLOPT_DNS_SHUFFLE_ADDRESSES Shuffle addresses before use. See CURLOPT_DNS_SHUFFLE_AD- DRESSES(3) CURLOPT_ACCEPTTIMEOUT_MS Timeout for waiting for the server's connect back to be ac- cepted. See CURLOPT_ACCEPTTIMEOUT_MS(3) CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS Timeout for happy eyeballs. See CURLOPT_HAPPY_EYEBALLS_TIME- OUT_MS(3) CURLOPT_UPKEEP_INTERVAL_MS Sets the interval at which connection upkeep are performed. See CURLOPT_UPKEEP_INTERVAL_MS(3) SSL and SECURITY OPTIONS CURLOPT_SSLCERT Client cert. See CURLOPT_SSLCERT(3) CURLOPT_SSLCERT_BLOB Client cert memory buffer. See CURLOPT_SSLCERT_BLOB(3) CURLOPT_PROXY_SSLCERT Proxy client cert. See CURLOPT_PROXY_SSLCERT(3) CURLOPT_PROXY_SSLCERT_BLOB Proxy client cert memory buffer. See CUR- LOPT_PROXY_SSLCERT_BLOB(3) CURLOPT_SSLCERTTYPE Client cert type. See CURLOPT_SSLCERTTYPE(3) CURLOPT_PROXY_SSLCERTTYPE Proxy client cert type. See CURLOPT_PROXY_SSLCERTTYPE(3) CURLOPT_SSLKEY Client key. See CURLOPT_SSLKEY(3) CURLOPT_SSLKEY_BLOB Client key memory buffer. See CURLOPT_SSLKEY_BLOB(3) CURLOPT_PROXY_SSLKEY Proxy client key. See CURLOPT_PROXY_SSLKEY(3) CURLOPT_PROXY_SSLKEY_BLOB Proxy client key. See CURLOPT_PROXY_SSLKEY_BLOB(3) CURLOPT_SSLKEYTYPE Client key type. See CURLOPT_SSLKEYTYPE(3) CURLOPT_PROXY_SSLKEYTYPE Proxy client key type. See CURLOPT_PROXY_SSLKEYTYPE(3) CURLOPT_KEYPASSWD Client key password. See CURLOPT_KEYPASSWD(3) CURLOPT_PROXY_KEYPASSWD Proxy client key password. See CURLOPT_PROXY_KEYPASSWD(3) CURLOPT_SSL_EC_CURVES Set key exchange curves. See CURLOPT_SSL_EC_CURVES(3) CURLOPT_SSL_ENABLE_ALPN Enable use of ALPN. See CURLOPT_SSL_ENABLE_ALPN(3) CURLOPT_SSL_ENABLE_NPN Enable use of NPN. See CURLOPT_SSL_ENABLE_NPN(3) CURLOPT_SSLENGINE Use identifier with SSL engine. See CURLOPT_SSLENGINE(3) CURLOPT_SSLENGINE_DEFAULT Default SSL engine. See CURLOPT_SSLENGINE_DEFAULT(3) CURLOPT_SSL_FALSESTART Enable TLS False Start. See CURLOPT_SSL_FALSESTART(3) CURLOPT_SSLVERSION SSL version to use. See CURLOPT_SSLVERSION(3) CURLOPT_PROXY_SSLVERSION Proxy SSL version to use. See CURLOPT_PROXY_SSLVERSION(3) CURLOPT_SSL_VERIFYHOST Verify the host name in the SSL certificate. See CUR- LOPT_SSL_VERIFYHOST(3) CURLOPT_PROXY_SSL_VERIFYHOST Verify the host name in the proxy SSL certificate. See CUR- LOPT_PROXY_SSL_VERIFYHOST(3) CURLOPT_SSL_VERIFYPEER Verify the SSL certificate. See CURLOPT_SSL_VERIFYPEER(3) CURLOPT_PROXY_SSL_VERIFYPEER Verify the proxy SSL certificate. See CURLOPT_PROXY_SSL_VERI- FYPEER(3) CURLOPT_SSL_VERIFYSTATUS Verify the SSL certificate's status. See CURLOPT_SSL_VERIFYSTA- TUS(3) CURLOPT_CAINFO CA cert bundle. See CURLOPT_CAINFO(3) CURLOPT_PROXY_CAINFO Proxy CA cert bundle. See CURLOPT_PROXY_CAINFO(3) CURLOPT_ISSUERCERT Issuer certificate. See CURLOPT_ISSUERCERT(3) CURLOPT_ISSUERCERT_BLOB Issuer certificate memory buffer. See CURLOPT_ISSUERCERT_BLOB(3) CURLOPT_PROXY_ISSUERCERT Proxy issuer certificate. See CURLOPT_PROXY_ISSUERCERT(3) CURLOPT_PROXY_ISSUERCERT_BLOB Proxy issuer certificate memory buffer. See CURLOPT_PROXY_IS- SUERCERT_BLOB(3) CURLOPT_CAPATH Path to CA cert bundle. See CURLOPT_CAPATH(3) CURLOPT_PROXY_CAPATH Path to proxy CA cert bundle. See CURLOPT_PROXY_CAPATH(3) CURLOPT_CRLFILE Certificate Revocation List. See CURLOPT_CRLFILE(3) CURLOPT_PROXY_CRLFILE Proxy Certificate Revocation List. See CURLOPT_PROXY_CRLFILE(3) CURLOPT_CERTINFO Extract certificate info. See CURLOPT_CERTINFO(3) CURLOPT_PINNEDPUBLICKEY Set pinned SSL public key . See CURLOPT_PINNEDPUBLICKEY(3) CURLOPT_PROXY_PINNEDPUBLICKEY Set the proxy's pinned SSL public key. See CURLOPT_PROXY_PINNED- PUBLICKEY(3) CURLOPT_RANDOM_FILE Provide source for entropy random data. See CURLOPT_RAN- DOM_FILE(3) CURLOPT_EGDSOCKET Identify EGD socket for entropy. See CURLOPT_EGDSOCKET(3) CURLOPT_SSL_CIPHER_LIST Ciphers to use. See CURLOPT_SSL_CIPHER_LIST(3) CURLOPT_PROXY_SSL_CIPHER_LIST Proxy ciphers to use. See CURLOPT_PROXY_SSL_CIPHER_LIST(3) CURLOPT_TLS13_CIPHERS TLS 1.3 cipher suites to use. See CURLOPT_TLS13_CIPHERS(3) CURLOPT_PROXY_TLS13_CIPHERS Proxy TLS 1.3 cipher suites to use. See CURLOPT_PROXY_TLS13_CI- PHERS(3) CURLOPT_SSL_SESSIONID_CACHE Disable SSL session-id cache. See CURLOPT_SSL_SESSIONID_CACHE(3) CURLOPT_SSL_OPTIONS Control SSL behavior. See CURLOPT_SSL_OPTIONS(3) CURLOPT_PROXY_SSL_OPTIONS Control proxy SSL behavior. See CURLOPT_PROXY_SSL_OPTIONS(3) CURLOPT_KRBLEVEL Kerberos security level. See CURLOPT_KRBLEVEL(3) CURLOPT_GSSAPI_DELEGATION Disable GSS-API delegation. See CURLOPT_GSSAPI_DELEGATION(3) SSH OPTIONS CURLOPT_SSH_AUTH_TYPES SSH authentication types. See CURLOPT_SSH_AUTH_TYPES(3) CURLOPT_SSH_COMPRESSION Enable SSH compression. See CURLOPT_SSH_COMPRESSION(3) CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 MD5 of host's public key. See CURLOPT_SSH_HOST_PUBLIC_KEY_MD5(3) CURLOPT_SSH_PUBLIC_KEYFILE File name of public key. See CURLOPT_SSH_PUBLIC_KEYFILE(3) CURLOPT_SSH_PRIVATE_KEYFILE File name of private key. See CURLOPT_SSH_PRIVATE_KEYFILE(3) CURLOPT_SSH_KNOWNHOSTS File name with known hosts. See CURLOPT_SSH_KNOWNHOSTS(3) CURLOPT_SSH_KEYFUNCTION Callback for known hosts handling. See CURLOPT_SSH_KEYFUNC- TION(3) CURLOPT_SSH_KEYDATA Custom pointer to pass to ssh key callback. See CURLOPT_SSH_KEY- DATA(3) OTHER OPTIONS CURLOPT_PRIVATE Private pointer to store. See CURLOPT_PRIVATE(3) CURLOPT_SHARE Share object to use. See CURLOPT_SHARE(3) CURLOPT_NEW_FILE_PERMS Mode for creating new remote files. See CUR- LOPT_NEW_FILE_PERMS(3) CURLOPT_NEW_DIRECTORY_PERMS Mode for creating new remote directories. See CURLOPT_NEW_DIREC- TORY_PERMS(3) TELNET OPTIONS CURLOPT_TELNETOPTIONS TELNET options. See CURLOPT_TELNETOPTIONS(3) RETURN VALUE CURLE_OK (zero) means that the option was set properly, non-zero means an error occurred as _curl/curl.h_ defines. See the libcurl-errors(3) man page for the full list with descriptions. Strings passed on to libcurl must be shorter than 8000000 bytes, other- wise curl_easy_setopt(3) returns CURLE_BAD_FUNCTION_ARGUMENT (added in 7.65.0). CURLE_BAD_FUNCTION_ARGUMENT is returned when the argument to an option is invalid, like perhaps out of range.a If you try to set an option that libcurl doesn't know about, perhaps because the library is too old to support it or the option was removed in a recent version, this function will return CURLE_UNKNOWN_OPTION. If support for the option was disabled at compile-time, it will return CURLE_NOT_BUILT_IN. EXAMPLE CURL *curl = curl_easy_init(); if(curl) { CURLcode res; curl_easy_setopt(curl, CURLOPT_URL, "https://example.com"); res = curl_easy_perform(curl); curl_easy_cleanup(curl); } SEE ALSO curl_easy_init(3), curl_easy_cleanup(3), curl_easy_reset(3), curl_easy_getinfo(3), curl_multi_setopt(3), libcurl 7.74.0 November 09, 2020 curl_easy_setopt(3)
NAME | SYNOPSIS | DESCRIPTION | BEHAVIOR OPTIONS | CALLBACK OPTIONS | ERROR OPTIONS | NETWORK OPTIONS | NAMES and PASSWORDS OPTIONS (Authentication) | HTTP OPTIONS | SMTP OPTIONS | TFTP OPTIONS | FTP OPTIONS | RTSP OPTIONS | PROTOCOL OPTIONS | CONNECTION OPTIONS | SSL and SECURITY OPTIONS | SSH OPTIONS | OTHER OPTIONS | TELNET OPTIONS | RETURN VALUE | EXAMPLE | SEE ALSO
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=curl_easy_setopt&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>