Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
curl_easy_setopt(3)	   Library Functions 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	 para-
       meter  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;  the  string  storage  associated	to the pointer argument	may be
       discarded or reused after curl_easy_setopt(3) returns. The only	excep-
       tion  to	this rule is really CURLOPT_POSTFIELDS(3), but the alternative
       that copies the string CURLOPT_COPYPOSTFIELDS(3)	has some usage charac-
       teristics 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.

OPTIONS
       CURLOPT_ABSTRACT_UNIX_SOCKET
	      Path   to	 an  abstract  Unix  domain  socket.  See  CURLOPT_AB-
	      STRACT_UNIX_SOCKET(3)

       CURLOPT_ACCEPTTIMEOUT_MS
	      Timeout for waiting for the server's  connect  back  to  be  ac-
	      cepted. See CURLOPT_ACCEPTTIMEOUT_MS(3)

       CURLOPT_ACCEPT_ENCODING
	      Accept-Encoding  and  automatic  decompressing  data.  See  CUR-
	      LOPT_ACCEPT_ENCODING(3)

       CURLOPT_ADDRESS_SCOPE
	      IPv6 scope for local addresses. See CURLOPT_ADDRESS_SCOPE(3)

       CURLOPT_ALTSVC
	      Specify the Alt-Svc: cache filename. See CURLOPT_ALTSVC(3)

       CURLOPT_ALTSVC_CTRL
	      Enable   and   configure	 Alt-Svc:    treatment.	   See	  CUR-
	      LOPT_ALTSVC_CTRL(3)

       CURLOPT_APPEND
	      Append to	remote file. See CURLOPT_APPEND(3)

       CURLOPT_AUTOREFERER
	      Automatically set	Referer: header. See CURLOPT_AUTOREFERER(3)

       CURLOPT_AWS_SIGV4
	      AWS HTTP V4 Signature. See CURLOPT_AWS_SIGV4(3)

       CURLOPT_BUFFERSIZE
	      Ask for alternate	buffer size. See CURLOPT_BUFFERSIZE(3)

       CURLOPT_CAINFO
	      CA cert bundle. See CURLOPT_CAINFO(3)

       CURLOPT_CAINFO_BLOB
	      CA cert bundle memory buffer. See	CURLOPT_CAINFO_BLOB(3)

       CURLOPT_CAPATH
	      Path to CA cert bundle. See CURLOPT_CAPATH(3)

       CURLOPT_CA_CACHE_TIMEOUT
	      Timeout for CA cache. See	CURLOPT_CA_CACHE_TIMEOUT(3)

       CURLOPT_CERTINFO
	      Extract certificate info.	See CURLOPT_CERTINFO(3)

       CURLOPT_CHUNK_BGN_FUNCTION
	      Callback	 for  wildcard	download  start	 of  chunk.  See  CUR-
	      LOPT_CHUNK_BGN_FUNCTION(3)

       CURLOPT_CHUNK_DATA
	      Data  pointer  to	 pass  to  the	chunk  callbacks.   See	  CUR-
	      LOPT_CHUNK_DATA(3)

       CURLOPT_CHUNK_END_FUNCTION
	      Callback	 for   wildcard	  download  end	 of  chunk.  See  CUR-
	      LOPT_CHUNK_END_FUNCTION(3)

       CURLOPT_CLOSESOCKETDATA
	      Data pointer to pass to the  close  socket  callback.  See  CUR-
	      LOPT_CLOSESOCKETDATA(3)

       CURLOPT_CLOSESOCKETFUNCTION
	      Callback for closing socket. See CURLOPT_CLOSESOCKETFUNCTION(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_CONNECT_ONLY
	      Only connect, nothing else. See CURLOPT_CONNECT_ONLY(3)

       CURLOPT_CONNECT_TO
	      Connect to a specific host and port. See CURLOPT_CONNECT_TO(3)

       CURLOPT_CONV_FROM_NETWORK_FUNCTION
	      OBSOLETE	Callback  for  code   base   conversion.    See	  CUR-
	      LOPT_CONV_FROM_NETWORK_FUNCTION(3)

       CURLOPT_CONV_FROM_UTF8_FUNCTION
	      OBSOLETE	 Callback   for	  code	 base  conversion.   See  CUR-
	      LOPT_CONV_FROM_UTF8_FUNCTION(3)

       CURLOPT_CONV_TO_NETWORK_FUNCTION
	      OBSOLETE	Callback  for  code   base   conversion.    See	  CUR-
	      LOPT_CONV_TO_NETWORK_FUNCTION(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_COOKIELIST
	      Add or control cookies. See CURLOPT_COOKIELIST(3)

       CURLOPT_COOKIESESSION
	      Start a new cookie session. See CURLOPT_COOKIESESSION(3)

       CURLOPT_COPYPOSTFIELDS
	      Send  a POST with	this data - and	copy it. See CURLOPT_COPYPOST-
	      FIELDS(3)

       CURLOPT_CRLF
	      Convert newlines.	See CURLOPT_CRLF(3)

       CURLOPT_CRLFILE
	      Certificate Revocation List. See CURLOPT_CRLFILE(3)

       CURLOPT_CURLU
	      Set URL to work on with a	URL handle. See	CURLOPT_CURLU(3)

       CURLOPT_CUSTOMREQUEST
	      Custom request/method. See CURLOPT_CUSTOMREQUEST(3)

       CURLOPT_DEBUGDATA
	      Data pointer to pass to the debug	callback.  See	CURLOPT_DEBUG-
	      DATA(3)

       CURLOPT_DEBUGFUNCTION
	      Callback for debug information. See CURLOPT_DEBUGFUNCTION(3)

       CURLOPT_DEFAULT_PROTOCOL
	      Default protocol.	See CURLOPT_DEFAULT_PROTOCOL(3)

       CURLOPT_DIRLISTONLY
	      List only. See CURLOPT_DIRLISTONLY(3)

       CURLOPT_DISALLOW_USERNAME_IN_URL
	      Do   not	allow  username	 in  URL.  See	CURLOPT_DISALLOW_USER-
	      NAME_IN_URL(3)

       CURLOPT_DNS_CACHE_TIMEOUT
	      Timeout for DNS cache. See CURLOPT_DNS_CACHE_TIMEOUT(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_DNS_USE_GLOBAL_CACHE
	      OBSOLETE	  Enable    global     DNS     cache.	  See	  CUR-
	      LOPT_DNS_USE_GLOBAL_CACHE(3)

       CURLOPT_DOH_SSL_VERIFYHOST
	      Verify the hostname in the DoH (DNS-over-HTTPS) SSL certificate.
	      See CURLOPT_DOH_SSL_VERIFYHOST(3)

       CURLOPT_DOH_SSL_VERIFYPEER
	      Verify  the  DoH	(DNS-over-HTTPS)  SSL  certificate.  See  CUR-
	      LOPT_DOH_SSL_VERIFYPEER(3)

       CURLOPT_DOH_SSL_VERIFYSTATUS
	      Verify the DoH (DNS-over-HTTPS) SSL  certificate's  status.  See
	      CURLOPT_DOH_SSL_VERIFYSTATUS(3)

       CURLOPT_DOH_URL
	      Use this DoH server for name resolves. See CURLOPT_DOH_URL(3)

       CURLOPT_ECH
	      Set the configuration for	ECH. See CURLOPT_ECH(3)

       CURLOPT_EGDSOCKET
	      OBSOLETE	 Identify   EGD	  socket   for	 entropy.   See	  CUR-
	      LOPT_EGDSOCKET(3)

       CURLOPT_ERRORBUFFER
	      Error message buffer. See	CURLOPT_ERRORBUFFER(3)

       CURLOPT_EXPECT_100_TIMEOUT_MS
	      100-continue timeout. See	CURLOPT_EXPECT_100_TIMEOUT_MS(3)

       CURLOPT_FAILONERROR
	      Fail on HTTP 4xx errors. CURLOPT_FAILONERROR(3)

       CURLOPT_FILETIME
	      Request file modification	date and time. See CURLOPT_FILETIME(3)

       CURLOPT_FNMATCH_DATA
	      Data pointer to pass to the wildcard matching callback. See CUR-
	      LOPT_FNMATCH_DATA(3)

       CURLOPT_FNMATCH_FUNCTION
	      Callback for wildcard matching. See CURLOPT_FNMATCH_FUNCTION(3)

       CURLOPT_FOLLOWLOCATION
	      Follow HTTP redirects. See CURLOPT_FOLLOWLOCATION(3)

       CURLOPT_FORBID_REUSE
	      Prevent subsequent  connections  from  reusing  this.  See  CUR-
	      LOPT_FORBID_REUSE(3)

       CURLOPT_FRESH_CONNECT
	      Use a new	connection. CURLOPT_FRESH_CONNECT(3)

       CURLOPT_FTPPORT
	      Use active FTP. See CURLOPT_FTPPORT(3)

       CURLOPT_FTPSSLAUTH
	      Control how to do	TLS. See CURLOPT_FTPSSLAUTH(3)

       CURLOPT_FTP_ACCOUNT
	      Send ACCT	command. See CURLOPT_FTP_ACCOUNT(3)

       CURLOPT_FTP_ALTERNATIVE_TO_USER
	      Alternative to USER. See CURLOPT_FTP_ALTERNATIVE_TO_USER(3)

       CURLOPT_FTP_CREATE_MISSING_DIRS
	      Create  missing  directories  on	the  remote  server.  See CUR-
	      LOPT_FTP_CREATE_MISSING_DIRS(3)

       CURLOPT_FTP_FILEMETHOD
	      Specify how to reach files. See CURLOPT_FTP_FILEMETHOD(3)

       CURLOPT_FTP_SKIP_PASV_IP
	      Ignore  the  IP  address	in  the	 PASV	response.   See	  CUR-
	      LOPT_FTP_SKIP_PASV_IP(3)

       CURLOPT_FTP_SSL_CCC
	      Back   to	  non-TLS   again   after   authentication.  See  CUR-
	      LOPT_FTP_SSL_CCC(3)

       CURLOPT_FTP_USE_EPRT
	      Use EPRT.	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_GSSAPI_DELEGATION
	      Disable GSS-API delegation. See CURLOPT_GSSAPI_DELEGATION(3)

       CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS
	      Timeout for  happy  eyeballs.  See  CURLOPT_HAPPY_EYEBALLS_TIME-
	      OUT_MS(3)

       CURLOPT_HAPROXYPROTOCOL
	      Send  an	HAProxy	 PROXY protocol	v1 header. See CURLOPT_HAPROX-
	      YPROTOCOL(3)

       CURLOPT_HAPROXY_CLIENT_IP
	      Spoof the	client IP in an	HAProxy	PROXY protocol v1 header.  See
	      CURLOPT_HAPROXY_CLIENT_IP(3)

       CURLOPT_HEADER
	      Include the header in the	body output. See CURLOPT_HEADER(3)

       CURLOPT_HEADERDATA
	      Data pointer to pass to the header callback. See CURLOPT_HEADER-
	      DATA(3)

       CURLOPT_HEADERFUNCTION
	      Callback	for  writing received headers. See CURLOPT_HEADERFUNC-
	      TION(3)

       CURLOPT_HEADEROPT
	      Control custom headers. See CURLOPT_HEADEROPT(3)

       CURLOPT_HSTS
	      Set HSTS cache file. See CURLOPT_HSTS(3)

       CURLOPT_HSTSREADDATA
	      Pass pointer to the HSTS read  callback.	See  CURLOPT_HSTSREAD-
	      DATA(3)

       CURLOPT_HSTSREADFUNCTION
	      Set HSTS read callback. See CURLOPT_HSTSREADFUNCTION(3)

       CURLOPT_HSTSWRITEDATA
	      Pass  pointer to the HSTS	write callback.	See CURLOPT_HSTSWRITE-
	      DATA(3)

       CURLOPT_HSTSWRITEFUNCTION
	      Set HSTS write callback. See CURLOPT_HSTSWRITEFUNCTION(3)

       CURLOPT_HSTS_CTRL
	      Enable HSTS. See CURLOPT_HSTS_CTRL(3)

       CURLOPT_HTTP09_ALLOWED
	      Allow HTTP/0.9 responses.	CURLOPT_HTTP09_ALLOWED(3)

       CURLOPT_HTTP200ALIASES
	      Alternative versions of 200 OK. See CURLOPT_HTTP200ALIASES(3)

       CURLOPT_HTTPAUTH
	      HTTP server authentication methods. See CURLOPT_HTTPAUTH(3)

       CURLOPT_HTTPGET
	      Do an HTTP GET request. See CURLOPT_HTTPGET(3)

       CURLOPT_HTTPHEADER
	      Custom HTTP headers. See CURLOPT_HTTPHEADER(3)

       CURLOPT_HTTPPOST
	      Deprecated  option  Multipart  formpost  HTTP  POST.   See  CUR-
	      LOPT_HTTPPOST(3)

       CURLOPT_HTTPPROXYTUNNEL
	      Tunnel through the HTTP proxy. CURLOPT_HTTPPROXYTUNNEL(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_HTTP_VERSION
	      HTTP version to use. CURLOPT_HTTP_VERSION(3)

       CURLOPT_IGNORE_CONTENT_LENGTH
	      Ignore Content-Length. See CURLOPT_IGNORE_CONTENT_LENGTH(3)

       CURLOPT_INFILESIZE
	      Size of file to send. CURLOPT_INFILESIZE(3)

       CURLOPT_INFILESIZE_LARGE
	      Size of file to send. CURLOPT_INFILESIZE_LARGE(3)

       CURLOPT_INTERFACE
	      Bind connection locally to this. See CURLOPT_INTERFACE(3)

       CURLOPT_INTERLEAVEDATA
	      Data  pointer  to	pass to	the RTSP interleave callback. See CUR-
	      LOPT_INTERLEAVEDATA(3)

       CURLOPT_INTERLEAVEFUNCTION
	      Callback for RTSP	interleaved data. See  CURLOPT_INTERLEAVEFUNC-
	      TION(3)

       CURLOPT_IOCTLDATA
	      Deprecated option	Data pointer to	pass to	the I/O	callback.  See
	      CURLOPT_IOCTLDATA(3)

       CURLOPT_IOCTLFUNCTION
	      Deprecated   option  Callback  for  I/O  operations.   See  CUR-
	      LOPT_IOCTLFUNCTION(3)

       CURLOPT_IPRESOLVE
	      IP version to use. See CURLOPT_IPRESOLVE(3)

       CURLOPT_ISSUERCERT
	      Issuer certificate. See CURLOPT_ISSUERCERT(3)

       CURLOPT_ISSUERCERT_BLOB
	      Issuer certificate memory	buffer.	See CURLOPT_ISSUERCERT_BLOB(3)

       CURLOPT_KEEP_SENDING_ON_ERROR
	      Keep sending on HTTP >= 300 errors.  CURLOPT_KEEP_SENDING_ON_ER-
	      ROR(3)

       CURLOPT_KEYPASSWD
	      Client key password. See CURLOPT_KEYPASSWD(3)

       CURLOPT_KRBLEVEL
	      Kerberos security	level. See CURLOPT_KRBLEVEL(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_LOGIN_OPTIONS
	      Login options. See CURLOPT_LOGIN_OPTIONS(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_MAIL_AUTH
	      Authentication address. See CURLOPT_MAIL_AUTH(3)

       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_RCPT_ALLOWFAILS
	      Allow RCPT TO command to fail  for  some	recipients.  See  CUR-
	      LOPT_MAIL_RCPT_ALLOWFAILS(3)

       CURLOPT_MAXAGE_CONN
	      Limit  the  age  (idle  time) of connections for reuse. See CUR-
	      LOPT_MAXAGE_CONN(3)

       CURLOPT_MAXCONNECTS
	      Maximum number of	connections in the connection pool.  See  CUR-
	      LOPT_MAXCONNECTS(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_MAXLIFETIME_CONN
	      Limit  the  age  (since  creation) of connections	for reuse. See
	      CURLOPT_MAXLIFETIME_CONN(3)

       CURLOPT_MAXREDIRS
	      Maximum number of	redirects to follow. See CURLOPT_MAXREDIRS(3)

       CURLOPT_MAX_RECV_SPEED_LARGE
	      Cap    the    download	speed	 to	this.	  See	  CUR-
	      LOPT_MAX_RECV_SPEED_LARGE(3)

       CURLOPT_MAX_SEND_SPEED_LARGE
	      Cap     the     upload	 speed	   to	  this.	   See	  CUR-
	      LOPT_MAX_SEND_SPEED_LARGE(3)

       CURLOPT_MIMEPOST
	      Post/send	MIME data. See CURLOPT_MIMEPOST(3)

       CURLOPT_MIME_OPTIONS
	      Set MIME option flags. See CURLOPT_MIME_OPTIONS(3)

       CURLOPT_NETRC
	      Enable .netrc parsing. See CURLOPT_NETRC(3)

       CURLOPT_NETRC_FILE
	      .netrc filename. See CURLOPT_NETRC_FILE(3)

       CURLOPT_NEW_DIRECTORY_PERMS
	      Mode for creating	new remote directories.	See CURLOPT_NEW_DIREC-
	      TORY_PERMS(3)

       CURLOPT_NEW_FILE_PERMS
	      Mode   for    creating	new    remote	 files.	   See	  CUR-
	      LOPT_NEW_FILE_PERMS(3)

       CURLOPT_NOBODY
	      Do not get the body contents. See	CURLOPT_NOBODY(3)

       CURLOPT_NOPROGRESS
	      Shut off the progress meter. See CURLOPT_NOPROGRESS(3)

       CURLOPT_NOPROXY
	      Filter out hosts from proxy use. CURLOPT_NOPROXY(3)

       CURLOPT_NOSIGNAL
	      Do not install signal handlers. See CURLOPT_NOSIGNAL(3)

       CURLOPT_OPENSOCKETDATA
	      Data  pointer  to	 pass  to  the	open socket callback. See CUR-
	      LOPT_OPENSOCKETDATA(3)

       CURLOPT_OPENSOCKETFUNCTION
	      Callback for socket creation. See	CURLOPT_OPENSOCKETFUNCTION(3)

       CURLOPT_PASSWORD
	      Password.	See CURLOPT_PASSWORD(3)

       CURLOPT_PATH_AS_IS
	      Disable squashing	/../ and /./ sequences in the path.  See  CUR-
	      LOPT_PATH_AS_IS(3)

       CURLOPT_PINNEDPUBLICKEY
	      Set pinned SSL public key	. See CURLOPT_PINNEDPUBLICKEY(3)

       CURLOPT_PIPEWAIT
	      Wait on connection to pipeline on	it. See	CURLOPT_PIPEWAIT(3)

       CURLOPT_PORT
	      Port number to connect to. See CURLOPT_PORT(3)

       CURLOPT_POST
	      Make an HTTP POST. See CURLOPT_POST(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_POSTQUOTE
	      Commands to run after transfer. See CURLOPT_POSTQUOTE(3)

       CURLOPT_POSTREDIR
	      How to act on redirects after POST. See CURLOPT_POSTREDIR(3)

       CURLOPT_PREQUOTE
	      Commands to run just before transfer. See	CURLOPT_PREQUOTE(3)

       CURLOPT_PREREQDATA
	      Data pointer to pass to the CURLOPT_PREREQFUNCTION callback. See
	      CURLOPT_PREREQDATA(3)

       CURLOPT_PREREQFUNCTION
	      Callback	to be called after a connection	is established but be-
	      fore a request is	made on	that connection.  See  CURLOPT_PREREQ-
	      FUNCTION(3)

       CURLOPT_PRE_PROXY
	      Socks proxy to use. See CURLOPT_PRE_PROXY(3)

       CURLOPT_PRIVATE
	      Private pointer to store.	See CURLOPT_PRIVATE(3)

       CURLOPT_PROGRESSDATA
	      Data  pointer  to	 pass to the progress meter callback. See CUR-
	      LOPT_PROGRESSDATA(3)

       CURLOPT_PROGRESSFUNCTION
	      OBSOLETE callback	for progress meter. See	 CURLOPT_PROGRESSFUNC-
	      TION(3)

       CURLOPT_PROTOCOLS
	      Deprecated option	Allowed	protocols. See CURLOPT_PROTOCOLS(3)

       CURLOPT_PROTOCOLS_STR
	      Allowed protocols. See CURLOPT_PROTOCOLS_STR(3)

       CURLOPT_PROXY
	      Proxy to use. See	CURLOPT_PROXY(3)

       CURLOPT_PROXYAUTH
	      HTTP proxy authentication	methods. See CURLOPT_PROXYAUTH(3)

       CURLOPT_PROXYHEADER
	      Custom HTTP headers sent to proxy. See CURLOPT_PROXYHEADER(3)

       CURLOPT_PROXYPASSWORD
	      Proxy password. See CURLOPT_PROXYPASSWORD(3)

       CURLOPT_PROXYPORT
	      Proxy port to use. See CURLOPT_PROXYPORT(3)

       CURLOPT_PROXYTYPE
	      Proxy type. See CURLOPT_PROXYTYPE(3)

       CURLOPT_PROXYUSERNAME
	      Proxy username. See CURLOPT_PROXYUSERNAME(3)

       CURLOPT_PROXYUSERPWD
	      Proxy username and password. See CURLOPT_PROXYUSERPWD(3)

       CURLOPT_PROXY_CAINFO
	      Proxy CA cert bundle. See	CURLOPT_PROXY_CAINFO(3)

       CURLOPT_PROXY_CAINFO_BLOB
	      Proxy    CA    cert    bundle    memory	 buffer.    See	  CUR-
	      LOPT_PROXY_CAINFO_BLOB(3)

       CURLOPT_PROXY_CAPATH
	      Path to proxy CA cert bundle. See	CURLOPT_PROXY_CAPATH(3)

       CURLOPT_PROXY_CRLFILE
	      Proxy Certificate	Revocation List. See CURLOPT_PROXY_CRLFILE(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_PROXY_KEYPASSWD
	      Proxy client key password. See CURLOPT_PROXY_KEYPASSWD(3)

       CURLOPT_PROXY_PINNEDPUBLICKEY
	      Set the proxy's pinned SSL public	key. See CURLOPT_PROXY_PINNED-
	      PUBLICKEY(3)

       CURLOPT_PROXY_SERVICE_NAME
	      Proxy authentication service name. CURLOPT_PROXY_SERVICE_NAME(3)

       CURLOPT_PROXY_SSLCERT
	      Proxy client cert. See CURLOPT_PROXY_SSLCERT(3)

       CURLOPT_PROXY_SSLCERTTYPE
	      Proxy client cert	type. See CURLOPT_PROXY_SSLCERTTYPE(3)

       CURLOPT_PROXY_SSLCERT_BLOB
	      Proxy	client	   cert	    memory     buffer.	   See	  CUR-
	      LOPT_PROXY_SSLCERT_BLOB(3)

       CURLOPT_PROXY_SSLKEY
	      Proxy client key.	See CURLOPT_PROXY_SSLKEY(3)

       CURLOPT_PROXY_SSLKEYTYPE
	      Proxy client key type. See CURLOPT_PROXY_SSLKEYTYPE(3)

       CURLOPT_PROXY_SSLKEY_BLOB
	      Proxy client key.	See CURLOPT_PROXY_SSLKEY_BLOB(3)

       CURLOPT_PROXY_SSLVERSION
	      Proxy SSL	version	to use.	See CURLOPT_PROXY_SSLVERSION(3)

       CURLOPT_PROXY_SSL_CIPHER_LIST
	      Proxy ciphers to use. See	CURLOPT_PROXY_SSL_CIPHER_LIST(3)

       CURLOPT_PROXY_SSL_OPTIONS
	      Control proxy SSL	behavior. See CURLOPT_PROXY_SSL_OPTIONS(3)

       CURLOPT_PROXY_SSL_VERIFYHOST
	      Verify the hostname in  the  proxy  SSL  certificate.  See  CUR-
	      LOPT_PROXY_SSL_VERIFYHOST(3)

       CURLOPT_PROXY_SSL_VERIFYPEER
	      Verify  the  proxy  SSL certificate. See CURLOPT_PROXY_SSL_VERI-
	      FYPEER(3)

       CURLOPT_PROXY_TLS13_CIPHERS
	      Proxy TLS	1.3 cipher suites to use. See  CURLOPT_PROXY_TLS13_CI-
	      PHERS(3)

       CURLOPT_PROXY_TLSAUTH_PASSWORD
	      Proxy   TLS   authentication   password.	See  CURLOPT_PROXY_TL-
	      SAUTH_PASSWORD(3)

       CURLOPT_PROXY_TLSAUTH_TYPE
	      Proxy  TLS   authentication   methods.   See   CURLOPT_PROXY_TL-
	      SAUTH_TYPE(3)

       CURLOPT_PROXY_TLSAUTH_USERNAME
	      Proxy   TLS   authentication   username.	See  CURLOPT_PROXY_TL-
	      SAUTH_USERNAME(3)

       CURLOPT_PROXY_TRANSFER_MODE
	      Add transfer mode	to URL over  proxy.  See  CURLOPT_PROXY_TRANS-
	      FER_MODE(3)

       CURLOPT_PUT
	      Deprecated option	Issue an HTTP PUT request. See CURLOPT_PUT(3)

       CURLOPT_QUICK_EXIT
	      To be set	by toplevel tools like "curl" to skip lengthy cleanups
	      when   they   are	  about	  to  call  exit()  anyway.  See  CUR-
	      LOPT_QUICK_EXIT(3)

       CURLOPT_QUOTE
	      Commands to run before transfer. See CURLOPT_QUOTE(3)

       CURLOPT_RANDOM_FILE
	      OBSOLETE Provide source  for  entropy  random  data.   See  CUR-
	      LOPT_RANDOM_FILE(3)

       CURLOPT_RANGE
	      Range requests. See CURLOPT_RANGE(3)

       CURLOPT_READDATA
	      Data  pointer  to	 pass  to the read callback. See CURLOPT_READ-
	      DATA(3)

       CURLOPT_READFUNCTION
	      Callback for reading data. See CURLOPT_READFUNCTION(3)

       CURLOPT_REDIR_PROTOCOLS
	      Deprecated option	Protocols to  allow  redirects	to.  See  CUR-
	      LOPT_REDIR_PROTOCOLS(3)

       CURLOPT_REDIR_PROTOCOLS_STR
	      Protocols	  to  allow  redirects	to.  See  CURLOPT_REDIR_PROTO-
	      COLS_STR(3)

       CURLOPT_REFERER
	      Referer: header. See CURLOPT_REFERER(3)

       CURLOPT_REQUEST_TARGET
	      Set the request target. CURLOPT_REQUEST_TARGET(3)

       CURLOPT_RESOLVE
	      Provide fixed/fake name resolves.	See CURLOPT_RESOLVE(3)

       CURLOPT_RESOLVER_START_DATA
	      Data pointer to pass to resolver start callback. See CURLOPT_RE-
	      SOLVER_START_DATA(3)

       CURLOPT_RESOLVER_START_FUNCTION
	      Callback to be called before a new resolve request  is  started.
	      See CURLOPT_RESOLVER_START_FUNCTION(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_RTSP_CLIENT_CSEQ
	      Client CSEQ number. See CURLOPT_RTSP_CLIENT_CSEQ(3)

       CURLOPT_RTSP_REQUEST
	      RTSP request. See	CURLOPT_RTSP_REQUEST(3)

       CURLOPT_RTSP_SERVER_CSEQ
	      CSEQ   number   for   RTSP   Server->Client  request.  See  CUR-
	      LOPT_RTSP_SERVER_CSEQ(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_SASL_AUTHZID
	      SASL authorization identity  (identity  to  act  as).  See  CUR-
	      LOPT_SASL_AUTHZID(3)

       CURLOPT_SASL_IR
	      Enable SASL initial response. See	CURLOPT_SASL_IR(3)

       CURLOPT_SEEKDATA
	      Data  pointer  to	 pass  to the seek callback. See CURLOPT_SEEK-
	      DATA(3)

       CURLOPT_SEEKFUNCTION
	      Callback for seek	operations. See	CURLOPT_SEEKFUNCTION(3)

       CURLOPT_SERVER_RESPONSE_TIMEOUT
	      Timeout for server responses. See	 CURLOPT_SERVER_RESPONSE_TIME-
	      OUT(3)

       CURLOPT_SERVER_RESPONSE_TIMEOUT_MS
	      Timeout  for server responses. See CURLOPT_SERVER_RESPONSE_TIME-
	      OUT_MS(3)

       CURLOPT_SERVICE_NAME
	      Authentication service name. CURLOPT_SERVICE_NAME(3)

       CURLOPT_SHARE
	      Share object to use. See CURLOPT_SHARE(3)

       CURLOPT_SOCKOPTDATA
	      Data pointer to pass to the sockopt callback. See	 CURLOPT_SOCK-
	      OPTDATA(3)

       CURLOPT_SOCKOPTFUNCTION
	      Callback for sockopt operations. See CURLOPT_SOCKOPTFUNCTION(3)

       CURLOPT_SOCKS5_AUTH
	      Socks5 authentication methods. See CURLOPT_SOCKS5_AUTH(3)

       CURLOPT_SOCKS5_GSSAPI_NEC
	      Socks5 GSSAPI NEC	mode. See CURLOPT_SOCKS5_GSSAPI_NEC(3)

       CURLOPT_SOCKS5_GSSAPI_SERVICE
	      Deprecated   option   Socks5  GSSAPI  service  name.   See  CUR-
	      LOPT_SOCKS5_GSSAPI_SERVICE(3)

       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_HOSTKEYDATA
	      Custom pointer to	pass  to  ssh  host  key  callback.  See  CUR-
	      LOPT_SSH_HOSTKEYDATA(3)

       CURLOPT_SSH_HOSTKEYFUNCTION
	      Callback	  for	checking   host	  key	handling.   See	  CUR-
	      LOPT_SSH_HOSTKEYFUNCTION(3)

       CURLOPT_SSH_HOST_PUBLIC_KEY_MD5
	      MD5 of host's public key.	See CURLOPT_SSH_HOST_PUBLIC_KEY_MD5(3)

       CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256
	      SHA256  of  host's   public   key.   See	 CURLOPT_SSH_HOST_PUB-
	      LIC_KEY_SHA256(3)

       CURLOPT_SSH_KEYDATA
	      Custom pointer to	pass to	ssh key	callback. See CURLOPT_SSH_KEY-
	      DATA(3)

       CURLOPT_SSH_KEYFUNCTION
	      Callback	for  known  hosts  handling.  See CURLOPT_SSH_KEYFUNC-
	      TION(3)

       CURLOPT_SSH_KNOWNHOSTS
	      Filename with known hosts. See CURLOPT_SSH_KNOWNHOSTS(3)

       CURLOPT_SSH_PRIVATE_KEYFILE
	      Filename of the private key. See CURLOPT_SSH_PRIVATE_KEYFILE(3)

       CURLOPT_SSH_PUBLIC_KEYFILE
	      Filename of the public key. See CURLOPT_SSH_PUBLIC_KEYFILE(3)

       CURLOPT_SSLCERT
	      Client cert. See CURLOPT_SSLCERT(3)

       CURLOPT_SSLCERTTYPE
	      Client cert type.	See CURLOPT_SSLCERTTYPE(3)

       CURLOPT_SSLCERT_BLOB
	      Client cert memory buffer. See CURLOPT_SSLCERT_BLOB(3)

       CURLOPT_SSLENGINE
	      Use identifier with SSL engine. See CURLOPT_SSLENGINE(3)

       CURLOPT_SSLENGINE_DEFAULT
	      Default SSL engine. See CURLOPT_SSLENGINE_DEFAULT(3)

       CURLOPT_SSLKEY
	      Client key. See CURLOPT_SSLKEY(3)

       CURLOPT_SSLKEYTYPE
	      Client key type. See CURLOPT_SSLKEYTYPE(3)

       CURLOPT_SSLKEY_BLOB
	      Client key memory	buffer.	See CURLOPT_SSLKEY_BLOB(3)

       CURLOPT_SSLVERSION
	      SSL version to use. See CURLOPT_SSLVERSION(3)

       CURLOPT_SSL_CIPHER_LIST
	      Ciphers to use. See CURLOPT_SSL_CIPHER_LIST(3)

       CURLOPT_SSL_CTX_DATA
	      Data pointer to pass to  the  SSL	 context  callback.  See  CUR-
	      LOPT_SSL_CTX_DATA(3)

       CURLOPT_SSL_CTX_FUNCTION
	      Callback for SSL context logic. See CURLOPT_SSL_CTX_FUNCTION(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
	      OBSOLETE Enable use of NPN. See CURLOPT_SSL_ENABLE_NPN(3)

       CURLOPT_SSL_FALSESTART
	      Enable TLS False Start. See CURLOPT_SSL_FALSESTART(3)

       CURLOPT_SSL_OPTIONS
	      Control SSL behavior. See	CURLOPT_SSL_OPTIONS(3)

       CURLOPT_SSL_SESSIONID_CACHE
	      Disable SSL session-id cache. See	CURLOPT_SSL_SESSIONID_CACHE(3)

       CURLOPT_SSL_SIGNATURE_ALGORITHMS
	      TLS signature algorithms to use. See CURLOPT_SSL_SIGNATURE_ALGO-
	      RITHMS(3)

       CURLOPT_SSL_VERIFYHOST
	      Verify the hostname in the SSL certificate. See CURLOPT_SSL_VER-
	      IFYHOST(3)

       CURLOPT_SSL_VERIFYPEER
	      Verify the SSL certificate. See CURLOPT_SSL_VERIFYPEER(3)

       CURLOPT_SSL_VERIFYSTATUS
	      Verify  the SSL certificate's status. See	CURLOPT_SSL_VERIFYSTA-
	      TUS(3)

       CURLOPT_STDERR
	      Redirect stderr to another stream. See CURLOPT_STDERR(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)

       CURLOPT_SUPPRESS_CONNECT_HEADERS
	      Suppress proxy CONNECT response headers from user	callbacks. See
	      CURLOPT_SUPPRESS_CONNECT_HEADERS(3)

       CURLOPT_TCP_FASTOPEN
	      Enable TCP Fast Open. See	CURLOPT_TCP_FASTOPEN(3)

       CURLOPT_TCP_KEEPALIVE
	      Enable TCP keep-alive. See CURLOPT_TCP_KEEPALIVE(3)

       CURLOPT_TCP_KEEPCNT
	      Maximum number of	keep-alive probes. See CURLOPT_TCP_KEEPCNT(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_TCP_NODELAY
	      Disable the Nagle	algorithm. See CURLOPT_TCP_NODELAY(3)

       CURLOPT_TELNETOPTIONS
	      TELNET options. See CURLOPT_TELNETOPTIONS(3)

       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)

       CURLOPT_TIMECONDITION
	      Make a time conditional request. See CURLOPT_TIMECONDITION(3)

       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_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)

       CURLOPT_TLS13_CIPHERS
	      TLS 1.3 cipher suites to use. See	CURLOPT_TLS13_CIPHERS(3)

       CURLOPT_TLSAUTH_PASSWORD
	      TLS authentication password. See CURLOPT_TLSAUTH_PASSWORD(3)

       CURLOPT_TLSAUTH_TYPE
	      TLS authentication methods. See CURLOPT_TLSAUTH_TYPE(3)

       CURLOPT_TLSAUTH_USERNAME
	      TLS authentication username. See CURLOPT_TLSAUTH_USERNAME(3)

       CURLOPT_TRAILERDATA
	      Custom pointer passed to the trailing headers callback. See CUR-
	      LOPT_TRAILERDATA(3)

       CURLOPT_TRAILERFUNCTION
	      Set callback for sending trailing	headers. See  CURLOPT_TRAILER-
	      FUNCTION(3)

       CURLOPT_TRANSFERTEXT
	      Use text transfer. See CURLOPT_TRANSFERTEXT(3)

       CURLOPT_TRANSFER_ENCODING
	      Request Transfer-Encoding. See CURLOPT_TRANSFER_ENCODING(3)

       CURLOPT_UNIX_SOCKET_PATH
	      Path to a	Unix domain socket. See	CURLOPT_UNIX_SOCKET_PATH(3)

       CURLOPT_UNRESTRICTED_AUTH
	      Do  not  restrict	authentication to original host. CURLOPT_UNRE-
	      STRICTED_AUTH(3)

       CURLOPT_UPKEEP_INTERVAL_MS
	      Sets the interval	at which connection upkeep are performed.  See
	      CURLOPT_UPKEEP_INTERVAL_MS(3)

       CURLOPT_UPLOAD
	      Upload data. See CURLOPT_UPLOAD(3)

       CURLOPT_UPLOAD_BUFFERSIZE
	      Set upload buffer	size. See CURLOPT_UPLOAD_BUFFERSIZE(3)

       CURLOPT_UPLOAD_FLAGS
	      Set upload flags.	See CURLOPT_UPLOAD_FLAGS(3)

       CURLOPT_URL
	      URL to work on. See CURLOPT_URL(3)

       CURLOPT_USERAGENT
	      User-Agent: header. See CURLOPT_USERAGENT(3)

       CURLOPT_USERNAME
	      Username.	See CURLOPT_USERNAME(3)

       CURLOPT_USERPWD
	      Username and password. See CURLOPT_USERPWD(3)

       CURLOPT_USE_SSL
	      Use TLS/SSL. See CURLOPT_USE_SSL(3)

       CURLOPT_VERBOSE
	      Display verbose information. See CURLOPT_VERBOSE(3)

       CURLOPT_WILDCARDMATCH
	      Transfer	multiple  files	 according  to a filename pattern. See
	      CURLOPT_WILDCARDMATCH(3)

       CURLOPT_WRITEDATA
	      Data pointer to pass to the write	callback.  See	CURLOPT_WRITE-
	      DATA(3)

       CURLOPT_WRITEFUNCTION
	      Callback for writing data. See CURLOPT_WRITEFUNCTION(3)

       CURLOPT_WS_OPTIONS
	      Set WebSocket options. See CURLOPT_WS_OPTIONS(3)

       CURLOPT_XFERINFODATA
	      Data  pointer  to	 pass to the progress meter callback. See CUR-
	      LOPT_XFERINFODATA(3)

       CURLOPT_XFERINFOFUNCTION
	      Callback for progress meter. See CURLOPT_XFERINFOFUNCTION(3)

       CURLOPT_XOAUTH2_BEARER
	      OAuth2 bearer token. See CURLOPT_XOAUTH2_BEARER(3)

PROTOCOLS
       This functionality affects all supported	protocols

EXAMPLE
       int main(void)
       {
	 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);
	 }
       }

AVAILABILITY
       Added in	curl 7.1

RETURN VALUE
       This function returns a CURLcode	indicating success or error.

       CURLE_OK	(0) means everything was OK, non-zero means an error occurred,
       see  libcurl-errors(3).	If   CURLOPT_ERRORBUFFER(3)   was   set	  with
       curl_easy_setopt(3)  there  can be an error message stored in the error
       buffer when non-zero is returned.

       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.

       If you try to set an option that	libcurl	does not know  about,  perhaps
       because	the library is too old to support it or	the option was removed
       in a recent version, this  function  returns  CURLE_UNKNOWN_OPTION.  If
       support	for  the  option  was  disabled	 at  compile-time,  it returns
       CURLE_NOT_BUILT_IN.

SEE ALSO
       curl_easy_cleanup(3),	 curl_easy_getinfo(3),	    curl_easy_init(3),
       curl_easy_option_by_id(3),  curl_easy_option_by_name(3),	 curl_easy_op-
       tion_next(3), curl_easy_reset(3), curl_multi_setopt(3)

libcurl				  2025-06-03		   curl_easy_setopt(3)

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+Ports+14.3.quarterly>

home | help