MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Curl Manual                                               curl(1)



NAME
     curl - transfer a URL

SYNOPSIS
     curl [options] [URL...]

DESCRIPTION
     curl is a tool to transfer data from or to a  server,  using
     one of the supported protocols (HTP, HTPS, FTP, FTPS, SCP,
     SFTP, TFTP, DICT, TELNET, LDAP or  FILE).   The  command  is
     designed to work without user interaction.

     curl offers a busload of useful tricks like  proxy  support,
     user authentication, FTP upload, HTP post, SL connections,
     cookies, file transfer resume and  more.  As  you  will  see
     below, the number of features will make your head spin!

     curl  is  powered  by  libcurl  for   all   transfer-related
     features. See libcurl(3) for details.

URL
     The URL syntax is protocol-dependent. You'll find a detailed
     description in RFC 3986.

     You can specify multiple URLs or parts of  URLs  by  writing
     part sets within braces as in:

      http:/site.{one,two,three}.com

     or you can get sequences of alphanumeric series by using  []
     as in:

      ftp:/ftp.numericals.com/file[1-100].txt
      ftp:/ftp.numericals.com/file[001-100].txt    (with leading
     zeros)
      ftp:/ftp.letters.com/file[a-z].txt

     No nesting of the sequences is supported at the moment,  but
     you can use several ones next to each other:

      http:/any.org/archive[1996-1999]/vol[1-4]/part{a,b,c}.html

     You can specify any amount of URLs on the command line. They
     will  be  fetched  in  a  sequential manner in the specified
     order.

     Since curl 7.15.1 you can also specify a  step  counter  for
     the ranges, so that you can get every Nth number or letter:

      http:/www.numericals.com/file[1-100:10].txt
      http:/www.letters.com/file[a-z:2].txt




Curl 7.19.0         Last change: 10 July 2008                   1






Curl Manual                                               curl(1)



     If you specify URL without  protocol:/  prefix,  curl  will
     attempt  to guess what protocol you might want. It will then
     default to HTP but try other protocols based on  often-used
     host  name  prefixes.  For  example, for host names starting
     with "ftp." curl will assume you want to speak FTP.

     Curl will attempt to re-use connections  for  multiple  file
     transfers,  so  that getting many files from the same server
     will not do multiple connects /  handshakes.  This  improves
     speed.  Of  course this is only done on files specified on a
     single command line and cannot be used between separate curl
     invokes.

PROGRES METER
     curl normally displays a progress meter  during  operations,
     indicating  the  amount of transferred data, transfer speeds
     and estimated time left, etc.

     However, since curl displays this data to  the  terminal  by
     default,  if  you  invoke  curl to do an operation and it is
     about to write data to the terminal, it  disables  the  pro-
     gress  meter as otherwise it would mess up the output mixing
     progress meter and response data.

     If you want a progress meter for HTP POST or PUT  requests,
     you  need  to  redirect the response output to a file, using
     shell redirect (>), -o [file] or similar.

     It is not the same case for FTP  upload  as  that  operation
     does not spit out any response data to the terminal.

     If you prefer a progress "bar" instead of the regular meter,
     -# is your friend.

OPTIONS
     In general, all boolean options are  enabled  with  --option
     and  yet  again  disabled with --no-option. That is, you use
     the exact same option name but prefix it  with  "no-".  How-
     ever, in this list we mostly only list and show the --option
     version of them. (This concept with --no options  was  added
     in  7.19.0.  Previously  most options were toggled on/off on
     repeated use of the same command line option.)

     -a/--append
          (FTP/SFTP) When used in an upload, this will tell  curl
          to append to the target file instead of overwriting it.
          If the file doesn't exist, it will  be  created.   Note
          that  this flag is ignored by some SH servers (includ-
          ing OpenSH).

     -A/--user-agent 
          (HTP) Specify the User-Agent string  to  send  to  the



Curl 7.19.0         Last change: 10 July 2008                   2






Curl Manual                                               curl(1)



          HTP  server.  Some  badly done CGIs fail if this field
          isn't set to "Mozilla/4.0". To  encode  blanks  in  the
          string,  surround  the  string with single quote marks.
          This can also be set with  the  -H/--header  option  of
          course.

          If this option is set more than once, the last one will
          be the one that's used.

     --anyauth
          (HTP) Tells curl to figure out  authentication  method
          by  itself, and use the most secure one the remote site
          claims to support.  This  is  done  by  first  doing  a
          request  and checking the response-headers, thus possi-
          bly inducing an extra network round-trip. This is  used
          instead  of  setting  a specific authentication method,
          which you can do with --basic,  --digest,  --ntlm,  and
          --negotiate.

          Note that using --anyauth is not recommended if you  do
          uploads  from  stdin,  since  it may require data to be
          sent twice and then the client must be able to  rewind.
          If the need should arise when uploading from stdin, the
          upload operation will fail.

     -b/--cookie 
          (HTP) Pass the data to the HTP server as a cookie. It
          is  supposedly  the  data  previously received from the
          server in a "Set-Cookie:" line.  The data should be  in
          the format "NAME1=VALUE1; NAME2=VALUE2".

          If no '=' symbol is used in the line, it is treated  as
          a  filename  to  use  to  read previously stored cookie
          lines from, which should be used  in  this  session  if
          they  match.  Using  this  method  also  activates  the
          "cookie parser" which will make  curl  record  incoming
          cookies too, which may be handy if you're using this in
          combination with the  -L/--location  option.  The  file
          format of the file to read cookies from should be plain
          HTP headers or the Netscape/Mozilla cookie  file  for-
          mat.

          NOTE that the file specified with -b/--cookie  is  only
          used  as  input. No cookies will be stored in the file.
          To store cookies, use the -c/--cookie-jar option or you
          could  even save the HTP headers to a file using -D/--
          dump-header!

          If this option is set more than once, the last one will
          be the one that's used.

     -B/--use-ascii



Curl 7.19.0         Last change: 10 July 2008                   3






Curl Manual                                               curl(1)



          Enable ASCI transfer when using FTP or LDAP. For  FTP,
          this  can  also  be  enforced by using an URL that ends
          with ";type=A". This option causes data sent to  stdout
          to be in text mode for win32 systems.

     --basic
          (HTP) Tells curl to  use  HTP  Basic  authentication.
          This  is  the default and this option is usually point-
          less, unless you use it to override  a  previously  set
          option  that  sets  a  different  authentication method
          (such as --ntlm, --digest, or --negotiate).

     --ciphers 
          (SL) Specifies which ciphers to use in the connection.
          The list of ciphers must specify valid ciphers. Read up
          on   SL   cipher   list   details   on    this    URL:
          http:/www.openssl.org/docs/apps/ciphers.html

          NS ciphers  are  done  differently  than  OpenSL  and
          GnuTLS.  The  full list of NS ciphers is in the NSCi-
          pherSuite       entry        at        this        URL:
          http:/directory.fedora.redhat.com/docs/modnss.html#Directives

          If this option is used several times, the last one will
          override the others.

     --compressed
          (HTP) Request a compressed response using one  of  the
          algorithms    libcurl    supports,   and   return   the
          uncompressed document.  If this option is used and  the
          server  sends an unsupported encoding, curl will report
          an error.

     --connect-timeout 
          Maximum time in seconds that you allow  the  connection
          to the server to take.  This only limits the connection
          phase, once curl has connected this  option  is  of  no
          more use. See also the -m/--max-time option.

          If this option is used several times, the last one will
          be used.

     -c/--cookie-jar 
          Specify to which file you want curl to write all  cook-
          ies  after a completed operation. Curl writes all cook-
          ies previously read from a specified file  as  well  as
          all cookies received from remote server(s). If no cook-
          ies are known, no file will be written. The  file  will
          be  written  using  the Netscape cookie file format. If
          you set the file name to a single dash, "-", the  cook-
          ies will be written to stdout.




Curl 7.19.0         Last change: 10 July 2008                   4






Curl Manual                                               curl(1)



          NOTE If the cookie jar can't be created or written  to,
          the  whole  curl operation won't fail or even report an
          error clearly. Using -v will get a  warning  displayed,
          but  that  is  the  only visible feedback you get about
          this possibly lethal situation.

          If this option is used several times, the  last  speci-
          fied file name will be used.

     -C/--continue-at 
          Continue/Resume a previous file transfer at  the  given
          offset.  The  given offset is the exact number of bytes
          that will be skipped, counting from  the  beginning  of
          the  source file before it is transferred to the desti-
          nation.  If used with uploads, the FTP  server  command
          SIZE will not be used by curl.

          Use "-C -" to  tell  curl  to  automatically  find  out
          where/how  to  resume  the  transfer.  It then uses the
          given output/input files to figure that out.

          If this option is used several times, the last one will
          be used.

     --create-dirs
          When used in conjunction with the -o option, curl  will
          create  the  necessary  local  directory  hierarchy  as
          needed. This option creates the dirs mentioned with the
          -o  option,  nothing  else. If the -o file name uses no
          dir or if the dirs it mentions already  exist,  no  dir
          will be created.

          To create remote directories when using  FTP  or  SFTP,
          try --ftp-create-dirs.

     --crlf
          (FTP) Convert LF to CRLF  in  upload.  Useful  for  MVS
          (OS/390).

     -d/--data 
          (HTP) Sends the specified data in a  POST  request  to
          the  HTP  server,  in the same way that a browser does
          when a user has filled in an HTML form and presses  the
          submit button. This will cause curl to pass the data to
          the server using  the  content-type  application/x-www-
          form-urlencoded.  Compare to -F/--form.

          -d/--data is the same as  --data-ascii.  To  post  data
          purely binary, you should instead use the --data-binary
          option. To URL-encode the value of a form field you may
          use --data-urlencode.




Curl 7.19.0         Last change: 10 July 2008                   5






Curl Manual                                               curl(1)



          If any of these options is used more than once  on  the
          same  command  line,  the data pieces specified will be
          merged together with a separating &-symbol. Thus, using
          '-d  name=daniel  -d skill=lousy' would generate a post
          chunk that looks like 'name=daniel&skill=lousy'.

          If you start the data  with  the  letter  @,  the  rest
          should  be  a  file name to read the data from, or - if
          you want curl to read the data from  stdin.   The  con-
          tents of the file must already be URL-encoded. Multiple
          files can also be specified. Posting data from  a  file
          named 'foobar' would thus be done with --data @foobar.

     --data-binary 
          (HTP) This posts data exactly  as  specified  with  no
          extra processing whatsoever.

          If you start the data  with  the  letter  @,  the  rest
          should  be  a  filename.   Data  is posted in a similar
          manner as --data-ascii does, except that  newlines  are
          preserved and conversions are never done.

          If this option is used several times, the ones  follow-
          ing  the  first  will append data as described in -d/--
          data.

     --data-urlencode 
          (HTP) This posts data, similar  to  the  other  --data
          options  with  the  exception  that  this performs URL-
          encoding. (Added in 7.18.0)

          To be CGI-compliant, the  part should begin  with
          a name followed by a separator and a content specifica-
          tion. The  part can be passed to curl  using  one
          of the following syntaxes:

          content
               This will make curl  URL-encode  the  content  and
               pass  that on. Just be careful so that the content
               doesn't contain any = or @ symbols, as  that  will
               then  make the syntax match one of the other cases
               below!

          =content
               This will make curl  URL-encode  the  content  and
               pass  that  on.  The  preceding  =  symbol  is not
               included in the data.

          name=content
               This will make curl URL-encode  the  content  part
               and  pass  that  on.  Note  that  the name part is
               expected to be URL-encoded already.



Curl 7.19.0         Last change: 10 July 2008                   6






Curl Manual                                               curl(1)



          @filename
               This will make curl load data from the given  file
               (including any newlines), URL-encode that data and
               pass it on in the POST.

          name@filename
               This will make curl load data from the given  file
               (including any newlines), URL-encode that data and
               pass it on in the POST.  The  name  part  gets  an
               equal      sign     appended,     resulting     in
               name=urlencoded-file-content. Note that  the  name
               is expected to be URL-encoded already.

     --digest
          (HTP) Enables HTP Digest authentication.  This  is  a
          authentication  that  prevents  the password from being
          sent over the wire in clear text. Use this in  combina-
          tion  with the normal -u/--user option to set user name
          and password.  See  also  --ntlm,  --negotiate  and  --
          anyauth for related options.

          If this option is used  several  times,  the  following
          occurrences make no difference.

     --disable-eprt
          (FTP) Tell curl to disable the use of the EPRT and LPRT
          commands  when  doing  active  FTP transfers. Curl will
          normally always first attempt to use  EPRT,  then  LPRT
          before  using  PORT,  but with this option, it will use
          PORT right away. EPRT and LPRT are  extensions  to  the
          original FTP protocol, and may not work on all servers,
          but they enable more functionality in a better way than
          the traditional PORT command.

          Since curl 7.19.0, --eprt can  be  used  to  explicitly
          enable  EPRT  again  and  --no-eprt  is an alias for --
          disable-eprt.

          Disabling EPRT only changes the active behavior. If you
          want  to  switch  to  passive  mode you need to not use
          -P/--ftp-port or force it with --ftp-pasv.

     --disable-epsv
          (FTP) Tell curl to disable the use of the EPSV  command
          when  doing  passive  FTP transfers. Curl will normally
          always first attempt to use EPSV before PASV, but  with
          this option, it will not try using EPSV.

          Since curl 7.19.0, --epsv can  be  used  to  explicitly
          enable  EPRT  again  and  --no-epsv  is an alias for --
          disable-epsv.




Curl 7.19.0         Last change: 10 July 2008                   7






Curl Manual                                               curl(1)



          Disabling EPSV only changes the  passive  behavior.  If
          you  want to switch to active mode you need to use -P/-
          -ftp-port.

     -D/--dump-header 
          Write the protocol headers to the specified file.

          This option is handy to use when you want to store  the
          headers that a HTP site sends to you. Cookies from the
          headers could then be read in a second curl  invocation
          by  using  the  -b/--cookie option! The -c/--cookie-jar
          option is however a better way to store cookies.

          When used in FTP, the FTP  server  response  lines  are
          considered being "headers" and thus are saved there.

          If this option is used several times, the last one will
          be used.

     -e/--referer 
          (HTP) Sends the "Referer Page" information to the HTP
          server.  This can also be set with the -H/--header flag
          of course.  When used with -L/--location you can append
          ";auto" to the --referer URL to make curl automatically
          set the  previous  URL  when  it  follows  a  Location:
          header.  The  ";auto" string can be used alone, even if
          you don't set an initial --referer.

          If this option is used several times, the last one will
          be used.

     --engine 
          Select the OpenSL crypto  engine  to  use  for  cipher
          operations.  Use  --engine  list  to  print  a  list of
          build-time supported engines. Note  that  not  all  (or
          none) of the engines may be available at run-time.

     --environment
          (RISC OS ONLY) Sets a range of  environment  variables,
          using the names the -w option supports, to allow easier
          extraction of useful information after having run curl.

     --egd-file 
          (SL) Specify the path name to  the  Entropy  Gathering
          Daemon  socket.  The  socket is used to seed the random
          engine for SL connections. See also the  --random-file
          option.

     -E/--cert 
          (SL) Tells curl to use the specified certificate  file
          when getting a file with HTPS or FTPS. The certificate
          must be in PEM format.  If the optional password  isn't



Curl 7.19.0         Last change: 10 July 2008                   8






Curl Manual                                               curl(1)



          specified, it will be queried for on the terminal. Note
          that this option assumes a "certificate" file  that  is
          the  private  key  and  the  private  certificate  con-
          catenated!  See  --cert  and  --key  to  specify   them
          independently.

          If curl is built against the NS SL library then  this
          option  tells  curl  the nickname of the certificate to
          use within the NS database defined by the  environment
          variable SLDIR (or by default /etc/pki/nssdb). If the
          NS PEM PKCS#11 module (libnsspem.so) is available then
          PEM files may be loaded.

          If this option is used several times, the last one will
          be used.

     --cert-type 
          (SL) Tells curl what  certificate  type  the  provided
          certificate  is  in.  PEM,  DER  and ENG are recognized
          types.  If not specified, PEM is assumed.

          If this option is used several times, the last one will
          be used.

     --cacert 
          (SL) Tells curl to use the specified certificate  file
          to  verify  the  peer. The file may contain multiple CA
          certificates. The certificate(s) must be in PEM format.
          Normally  curl is built to use a default file for this,
          so this option is typically used to alter that  default
          file.

          curl  recognizes   the   environment   variable   named
          'CURLCABUNDLE'  if it is set, and uses the given path
          as a path to a CA cert bundle.  This  option  overrides
          that variable.

          The windows version of curl will automatically look for
          a  CA  certs file named 'curl-ca-bundle.crt', either in
          the same directory as curl.exe, or in the Current Work-
          ing Directory, or in any folder along your PATH.

          If curl is built against the NS SL library then  this
          option tells curl the nickname of the CA certificate to
          use within the NS database defined by the  environment
          variable  SLDIR  (or  by default /etc/pki/nssdb).  If
          the NS PEM PKCS#11 module (libnsspem.so) is  available
          then PEM files may be loaded.

          If this option is used several times, the last one will
          be used.




Curl 7.19.0         Last change: 10 July 2008                   9






Curl Manual                                               curl(1)



     --capath 
          (SL) Tells  curl  to  use  the  specified  certificate
          directory  to verify the peer. The certificates must be
          in PEM format, and the directory must  have  been  pro-
          cessed   using   the  crehash  utility  supplied  with
          openssl. Using --capath can allow  curl  to  make  SL-
          connections  much  more efficiently than using --cacert
          if the --cacert file contains many CA certificates.

          If this option is used several times, the last one will
          be used.

     -f/--fail
          (HTP) Fail silently  (no  output  at  all)  on  server
          errors.  This  is  mostly done to better enable scripts
          etc to better deal  with  failed  attempts.  In  normal
          cases  when  a HTP server fails to deliver a document,
          it returns an HTML document  stating  so  (which  often
          also  describes  why  and more). This flag will prevent
          curl from outputting that and return error 22.

          This method is not fail-safe and  there  are  occasions
          where  non-successful response codes will slip through,
          especially when authentication  is  involved  (response
          codes 401 and 407).

     --ftp-account [data]
          (FTP) When an FTP server asks for "account data"  after
          user  name and password has been provided, this data is
          sent off using the ACT command. (Added in 7.13.0)

          If this option is used twice, the second will  override
          the previous use.

     --ftp-create-dirs
          (FTP/SFTP) When an FTP or  SFTP  URL/operation  uses  a
          path  that  doesn't  currently exist on the server, the
          standard behavior  of  curl  is  to  fail.  Using  this
          option,  curl  will  instead  attempt to create missing
          directories.

     --ftp-method [method]
          (FTP) Control what method curl should use  to  reach  a
          file  on a FTP(S) server. The method argument should be
          one of the following alternatives:

          multicwd
               curl does a single CWD  operation  for  each  path
               part  in  the given URL. For deep hierarchies this
               means very many commands. This is how RFC1738 says
               it  should  be  done.  This is the default but the
               slowest behavior.



Curl 7.19.0         Last change: 10 July 2008                  10






Curl Manual                                               curl(1)



          nocwd
               curl does no CWD at all. curl will do SIZE,  RETR,
               STOR  etc  and  give a full path to the server for
               all these commands. This is the fastest behavior.

          singlecwd
               curl does one CWD with the full  target  directory
               and  then operates on the file "normally" (like in
               the multicwd case). This is  somewhat  more  stan-
               dards  compliant than 'nocwd' but without the full
               penalty of 'multicwd'.
     (Added in 7.15.1)

     --ftp-pasv
          (FTP) Use passive mode for the data conection.  Passive
          is the internal default behavior, but using this option
          can be used to override a previous -P/-ftp-port option.
          (Added in 7.11.0)

          If this option is used  several  times,  the  following
          occurrences  make  no  difference.  Undoing an enforced
          passive really isn't doable but you must  then  instead
          enforce the correct -P/--ftp-port again.

          Passive mode means that curl will try the EPSV  command
          first and then PASV, unless --disable-epsv is used.

     --ftp-alternative-to-user 
          (FTP) If authenticating with the USER and PAS commands
          fails,   send   this   command.    When  connecting  to
          Tumbleweed's Secure Transport server over FTPS using  a
          client  certificate,  using  "SITE  AUTH" will tell the
          server to retrieve the username from  the  certificate.
          (Added in 7.15.5)

     --ftp-skip-pasv-ip
          (FTP) Tell curl to not use the IP  address  the  server
          suggests  in  its  response to curl's PASV command when
          curl connects the data connection.  Instead  curl  will
          re-use the same IP address it already uses for the con-
          trol connection. (Added in 7.14.2)

          This option has no effect if PORT, EPRT or EPSV is used
          instead of PASV.

     --ftp-ssl
          (FTP) Try  to  use  SL/TLS  for  the  FTP  connection.
          Reverts  to  a  non-secure  connection  if  the  server
          doesn't support SL/TLS.   See  also  --ftp-ssl-control
          and  --ftp-ssl-reqd  for different levels of encryption
          required. (Added in 7.11.0)




Curl 7.19.0         Last change: 10 July 2008                  11






Curl Manual                                               curl(1)



     --ftp-ssl-control
          (FTP) Require SL/TLS for  the  FTP  login,  clear  for
          transfer.    Allows  secure  authentication,  but  non-
          encrypted data transfers  for  efficiency.   Fails  the
          transfer if the server doesn't support SL/TLS.  (Added
          in 7.16.0)

     --ftp-ssl-reqd
          (FTP) Require SL/TLS for  the  FTP  connection.   Ter-
          minates  the  connection  if the server doesn't support
          SL/TLS.  (Added in 7.15.5)

     --ftp-ssl-ccc
          (FTP) Use C (Clear Command Channel)  Shuts  down  the
          SL/TLS  layer  after  authenticating.  The rest of the
          control channel communication will be unencrypted. This
          allows  NAT  routers to follow the FTP transaction. The
          default mode is  passive.  See  --ftp-ssl-ccc-mode  for
          other modes.  (Added in 7.16.1)

     --ftp-ssl-ccc-mode [active/passive]
          (FTP) Use C (Clear  Command  Channel)  Sets  the  C
          mode.  The passive mode will not initiate the shutdown,
          but instead wait for the server to do it, and will  not
          reply  to the shutdown from the server. The active mode
          initiates the shutdown and waits for a reply  from  the
          server.  (Added in 7.16.2)

     -F/--form 
          (HTP) This lets curl emulate a filled-in form in which
          a  user has pressed the submit button. This causes curl
          to POST data using the Content-Type multipart/form-data
          according  to RFC1867. This enables uploading of binary
          files etc. To force the 'content' part to  be  a  file,
          prefix  the  file  name with an @ sign. To just get the
          content part from a file, prefix the file name with the
          symbol <. The difference between @ and < is then that @
          makes a file get attached in the post as a file upload,
          while  the  <  makes a text field and just get the con-
          tents for that text field from a file.

          Example, to send your  password  file  to  the  server,
          where 'password' is the name of the form-field to which
          /etc/passwd will be the input:

          curl -F password=@/etc/passwd www.mypasswords.com

          To read the file's content  from  stdin  instead  of  a
          file,  use  -  where the file name should've been. This
          goes for both @ and < constructs.

          You can also tell curl  what  Content-Type  to  use  by



Curl 7.19.0         Last change: 10 July 2008                  12






Curl Manual                                               curl(1)



          using 'type=', in a manner similar to:

          curl -F "web=@index.html;type=text/html" url.com

          or

          curl -F "name=daniel;type=text/foo" url.com

          You can also explicitly change the  name  field  of  an
          file upload part by setting filename=, like this:

          curl -F "file=@localfile;filename=nameinpost" url.com

          See further examples and details in the MANUAL.

          This option can be used multiple times.

     --form-string 
          (HTP) Similar to --form except that the  value  string
          for  the named parameter is used literally. Leading '@'
          and '<' characters, and  the  ';type='  string  in  the
          value  have  no special meaning. Use this in preference
          to --form if there's any possibility  that  the  string
          value  may accidentally trigger the '@' or '<' features
          of --form.

     -g/--globoff
          This option switches off  the  "URL  globbing  parser".
          When  you  set  this  option, you can specify URLs that
          contain the letters  {}[]  without  having  them  being
          interpreted by curl itself. Note that these letters are
          not normal  legal  URL  contents  but  they  should  be
          encoded according to the URI standard.

     -G/--get
          When used, this option will  make  all  data  specified
          with  -d/--data  or  --data-binary to be used in a HTP
          GET request instead of the POST request that  otherwise
          would  be  used.  The  data will be appended to the URL
          with a '?' separator.

          If used in combination with  -I,  the  POST  data  will
          instead be appended to the URL with a HEAD request.

          If this option is used  several  times,  the  following
          occurrences make no difference. This is because undoing
          a GET doesn't make sense, but you should  then  instead
          enforce the alternative method you prefer.

     -h/--help
          Usage help.




Curl 7.19.0         Last change: 10 July 2008                  13






Curl Manual                                               curl(1)



     -H/--header 
(HTP) Extra header to use when getting a web page. You may specify any number of extra headers. Note that if you should add a custom header that has the same name as one of the internal ones curl would use, your exter- nally set header will be used instead of the internal one. This allows you to make even trickier stuff than curl would normally do. You should not replace inter- nally set headers without knowing perfectly well what you're doing. Remove an internal header by giving a replacement without content on the right side of the colon, as in: -H "Host:". curl will make sure that each header you add/replace is sent with the proper end-of-line marker, you should thus not add that as a part of the header content: do not add newlines or carriage returns, they will only mess things up for you. See also the -A/--user-agent and -e/--referer options. This option can be used multiple times to add/replace/remove multiple headers. --hostpubmd5 Pass a string containing 32 hexadecimal digits. The string should be the 128 bit MD5 checksum of the remote host's public key, curl will refuse the connection with the host unless the md5sums match. This option is only for SCP and SFTP transfers. (Added in 7.17.1) --ignore-content-length (HTP) Ignore the Content-Length header. This is par- ticularly useful for servers running Apache 1.x, which will report incorrect Content-Length for files larger than 2 gigabytes. -i/--include (HTP) Include the HTP-header in the output. The HTP-header includes things like server-name, date of the document, HTP-version and more... --interface Perform an operation using a specified interface. You can enter interface name, IP address or host name. An example could look like: curl --interface eth0:1 http:/www.netscape.com/ If this option is used several times, the last one will be used. Curl 7.19.0 Last change: 10 July 2008 14 Curl Manual curl(1) -I/--head (HTP/FTP/FILE) Fetch the HTP-header only! HTP- servers feature the command HEAD which this uses to get nothing but the header of a document. When used on a FTP or FILE file, curl displays the file size and last modification time only. -j/--junk-session-cookies (HTP) When curl is told to read cookies from a given file, this option will make it discard all "session cookies". This will basically have the same effect as if a new session is started. Typical browsers always discard session cookies when they're closed down. -k/--insecure (SL) This option explicitly allows curl to perform "insecure" SL connections and transfers. All SL con- nections are attempted to be made secure by using the CA certificate bundle installed by default. This makes all connections considered "insecure" fail unless -k/- -insecure is used. See this online resource for further details: http:/curl.haxx.se/docs/sslcerts.html --keepalive-time This option sets the time a connection needs to remain idle before sending keepalive probes and the time between individual keepalive probes. It is currently effective on operating systems offering the TCPKEPIDLE and TCPKEPINTVL socket options (meaning Linux, recent AIX, HP-UX and more). This option has no effect if --no-keepalive is used. (Added in 7.18.0) If this option is used multiple times, the last occurrence sets the amount. --key (SL/SH) Private key file name. Allows you to provide your private key in this separate file. If this option is used several times, the last one will be used. --key-type (SL) Private key file type. Specify which type your --key provided private key is. DER, PEM, and ENG are supported. If not specified, PEM is assumed. If this option is used several times, the last one will be used. Curl 7.19.0 Last change: 10 July 2008 15 Curl Manual curl(1) --krb (FTP) Enable Kerberos authentication and use. The level must be entered and should be one of 'clear', 'safe', 'confidential', or 'private'. Should you use a level that is not one of these, 'private' will instead be used. This option requires a library built with kerberos4 or GSAPI (GS-Negotiate) support. This is not very com- mon. Use -V/--version to see if your curl supports it. If this option is used several times, the last one will be used. -K/--config Specify which config file to read curl arguments from. The config file is a text file in which command line arguments can be written which then will be used as if they were written on the actual command line. Options and their parameters must be specified on the same con- fig file line, separated by whitespace, colon, the equals sign or any combination thereof (however, the preferred separator is the equals sign). If the parame- ter is to contain whitespace, the parameter must be enclosed within quotes. Within double quotes, the fol- lowing escape sequences are available: \\, \", \t, \n, \r and \v. A backslash preceding any other letter is ignored. If the first column of a config line is a '#' character, the rest of the line will be treated as a comment. Only write one option per physical line in the config file. Specify the filename to -K/--config as '-' to make curl read the file from stdin. Note that to be able to specify a URL in the config file, you need to specify it using the --url option, and not by simply writing the URL on its own line. So, it could look similar to this: url = "http:/curl.haxx.se/docs/" Long option names can optionally be given in the config file without the initial double dashes. When curl is invoked, it always (unless -q is used) checks for a default config file and uses it if found. The default config file is checked for in the following places in this order: 1) curl tries to find the "home dir": It first checks for the CURLHOME and then the HOME environment Curl 7.19.0 Last change: 10 July 2008 16 Curl Manual curl(1) variables. Failing that, it uses getpwuid() on UNIX- like systems (which returns the home dir given the current user in your system). On Windows, it then checks for the APDATA variable, or as a last resort the '%USERPROFILE%\Application Data'. 2) On windows, if there is no curlrc file in the home dir, it checks for one in the same dir the curl execut- able is placed. On UNIX-like systems, it will simply try to load .curlrc from the determined home dir. # --- Example file --- # this is a comment url = "curl.haxx.se" output = "curlhere.html" user-agent = "superagent/1.0" # and fetch another URL too url = "curl.haxx.se/docs/manpage.html" -O referer = "http:/nowhereatall.com/" # --- End of example file --- This option can be used multiple times to load multiple config files. --libcurl Append this option to any ordinary curl command line, and you will get a libcurl-using source code written to the file that does the equivalent of what your command-line operation does! NOTE: this does not properly support -F and the sending of multipart formposts, so in those cases the output program will be missing necessary calls to curlformadd(3), and possibly more. If this option is used several times, the last given file name will be used. (Added in 7.16.1) --limit-rate Specify the maximum transfer rate you want curl to use. This feature is useful if you have a limited pipe and you'd like your transfer not to use your entire bandwidth. The given speed is measured in bytes/second, unless a suffix is appended. Appending 'k' or 'K' will count the number as kilobytes, 'm' or M' makes it megabytes, while 'g' or 'G' makes it gigabytes. Examples: 200K, 3m and 1G. Curl 7.19.0 Last change: 10 July 2008 17 Curl Manual curl(1) The given rate is the average speed counted during the entire transfer. It means that curl might use higher transfer speeds in short bursts, but over time it uses no more than the given rate. If you also use the -Y/--speed-limit option, that option will take precedence and might cripple the rate-limiting slightly, to help keeping the speed-limit logic working. If this option is used several times, the last one will be used. -l/--list-only (FTP) When listing an FTP directory, this switch forces a name-only view. Especially useful if you want to machine-parse the contents of an FTP directory since the normal directory view doesn't use a standard look or format. This option causes an FTP NLST command to be sent. Some FTP servers list only files in their response to NLST; they do not include subdirectories and symbolic links. --local-port [-num] Set a preferred number or range of local port numbers to use for the connection(s). Note that port numbers by nature are a scarce resource that will be busy at times so setting this range to something too narrow might cause unnecessary connection setup failures. (Added in 7.15.2) -L/--location (HTP/HTPS) If the server reports that the requested page has moved to a different location (indicated with a Location: header and a 3X response code), this option will make curl redo the request on the new place. If used together with -i/--include or -I/--head, headers from all requested pages will be shown. When authentication is used, curl only sends its credentials to the initial host. If a redirect takes curl to a dif- ferent host, it won't be able to intercept the user]password. See also --location-trusted on how to change this. You can limit the amount of redirects to follow by using the --max-redirs option. When curl follows a redirect and the request is not a plain GET (for example POST or PUT), it will do the following request with a GET if the HTP response was 301, 302, or 303. If the response code was any other Curl 7.19.0 Last change: 10 July 2008 18 Curl Manual curl(1) 3xx code, curl will re-send the following request using the same unmodified method. --location-trusted (HTP/HTPS) Like -L/--location, but will allow sending the name ] password to all hosts that the site may redirect to. This may or may not introduce a security breach if the site redirects you to a site to which you'll send your authentication info (which is plain- text in the case of HTP Basic authentication). --max-filesize Specify the maximum size (in bytes) of a file to down- load. If the file requested is larger than this value, the transfer will not start and curl will return with exit code 63. NOTE: The file size is not always known prior to down- load, and for such files this option has no effect even if the file transfer ends up being larger than this given limit. This concerns both FTP and HTP transfers. -m/--max-time Maximum time in seconds that you allow the whole opera- tion to take. This is useful for preventing your batch jobs from hanging for hours due to slow networks or links going down. See also the --connect-timeout option. If this option is used several times, the last one will be used. -M/--manual Manual. Display the huge help text. -n/--netrc Makes curl scan the .netrc (netrc on Windows) file in the user's home directory for login name and password. This is typically used for FTP on UNIX. If used with HTP, curl will enable user authentication. See netrc(4) or ftp(1) for details on the file format. Curl will not complain if that file doesn't have the right permissions (it should not be either world- or group- readable). The environment variable "HOME" is used to find the home directory. A quick and very simple example of how to setup a .netrc to allow curl to FTP to the machine host.domain.com with user name 'myself' and password 'secret' should look similar to: Curl 7.19.0 Last change: 10 July 2008 19 Curl Manual curl(1) machine host.domain.com login myself password secret --netrc-optional Very similar to --netrc, but this option makes the .netrc usage optional and not mandatory as the --netrc option does. --negotiate (HTP) Enables GS-Negotiate authentication. The GS- Negotiate method was designed by Microsoft and is used in their web applications. It is primarily meant as a support for Kerberos5 authentication but may be also used along with another authentication method. For more information see IETF draft draft-brezak-spnego-http- 04.txt. If you want to enable Negotiate for your proxy authen- tication, then use --proxy-negotiate. This option requires a library built with GSAPI sup- port. This is not very common. Use -V/--version to see if your version supports GS-Negotiate. When using this option, you must also provide a fake -u/--user option to activate the authentication code properly. Sending a '-u :' is enough as the user name and password from the -u option aren't actually used. If this option is used several times, the following occurrences make no difference. -N/--no-buffer Disables the buffering of the output stream. In normal work situations, curl will use a standard buffered out- put stream that will have the effect that it will out- put the data in chunks, not necessarily exactly when the data arrives. Using this option will disable that buffering. Note that this is the negated option name documented. You can thus use --buffer to enforce the buffering. --no-keepalive Disables the use of keepalive messages on the TCP con- nection, as by default curl enables them. Note that this is the negated option name documented. You can thus use --keepalive to enforce keepalive. --no-sessionid (SL) Disable curl's use of SL session-ID caching. By default all transfers are done using the cache. Note Curl 7.19.0 Last change: 10 July 2008 20 Curl Manual curl(1) that while nothing should ever get hurt by attempting to reuse SL session-IDs, there seem to be broken SL implementations in the wild that may require you to disable this in order for you to succeed. (Added in 7.16.0) Note that this is the negated option name documented. You can thus use --sessionid to enforce session-ID caching. --noproxy Comma-separated list of hosts which do not use a proxy, if one is specified. The only wildcard is a single * character, which matches all hosts, and effectively disables the proxy. Each name in this list is matched as either a domain which contains the hostname, or the hostname itself. For example, local.com would match local.com, local.com:80, and www.local.com, but not www.notlocal.com. (Added in 7.19.4). --ntlm (HTP) Enables NTLM authentication. The NTLM authenti- cation method was designed by Microsoft and is used by IS web servers. It is a proprietary protocol, reverse-engineered by clever people and implemented in curl based on their efforts. This kind of behavior should not be endorsed, you should encourage everyone who uses NTLM to switch to a public and documented authentication method instead, such as Digest. If you want to enable NTLM for your proxy authentica- tion, then use --proxy-ntlm. This option requires a library built with SL support. Use -V/--version to see if your curl supports NTLM. If this option is used several times, the following occurrences make no difference. -o/--output Write output to instead of stdout. If you are using {} or [] to fetch multiple documents, you can use '#' followed by a number in the specifier. That variable will be replaced with the current string for the URL being fetched. Like in: curl http:/{one,two}.site.com -o "file#1.txt" or use several variables like: curl http:/{site,host}.host[1-5].com -o "#1#2" Curl 7.19.0 Last change: 10 July 2008 21 Curl Manual curl(1) You may use this option as many times as the number of URLs you have. See also the --create-dirs option to create the local directories dynamically. Specifying the output as '-' (a single dash) will force the output to be done to stdout. -O/--remote-name Write output to a local file named like the remote file we get. (Only the file part of the remote file is used, the path is cut off.) The remote file name to use for saving is extracted from the given URL, nothing else. You may use this option as many times as the number of URLs you have. --remote-name-all This option changes the default action for all given URLs to be dealt with as if -O/--remote-name were used for each one. So if you want to disable that for a specific URL after --remote-name-all has been used, you must use "-o -" or --no-remote-name. (Added in 7.19.0) --pass (SL/SH) Passphrase for the private key If this option is used several times, the last one will be used. --post301 Tells curl to respect RFC 2616/10.3.2 and not convert POST requests into GET requests when following a 301 redirection. The non-RFC behaviour is ubiquitous in web browsers, so curl does the conversion by default to maintain consistency. However, a server may require a POST to remain a POST after such a redirection. This option is meaningful only when using -L/--location (Added in 7.17.1) --post302 Tells curl to respect RFC 2616/10.3.2 and not convert POST requests into GET requests when following a 302 redirection. The non-RFC behaviour is ubiquitous in web browsers, so curl does the conversion by default to maintain consistency. However, a server may require a POST to remain a POST after such a redirection. This option is meaningful only when using -L/--location (Added in 7.19.1) Curl 7.19.0 Last change: 10 July 2008 22 Curl Manual curl(1) --proxy-anyauth Tells curl to pick a suitable authentication method when communicating with the given proxy. This might cause an extra request/response round-trip. (Added in 7.13.2) --proxy-basic Tells curl to use HTP Basic authentication when com- municating with the given proxy. Use --basic for ena- bling HTP Basic with a remote host. Basic is the default authentication method curl uses with proxies. --proxy-digest Tells curl to use HTP Digest authentication when com- municating with the given proxy. Use --digest for ena- bling HTP Digest with a remote host. --proxy-negotiate Tells curl to use HTP Negotiate authentication when communicating with the given proxy. Use --negotiate for enabling HTP Negotiate with a remote host. (Added in 7.17.1) --proxy-ntlm Tells curl to use HTP NTLM authentication when commun- icating with the given proxy. Use --ntlm for enabling NTLM with a remote host. --proxy1.0 Use the specified HTP 1.0 proxy. If the port number is not specified, it is assumed at port 1080. The only difference between this and the HTP proxy option (-x/--proxy), is that attempts to use CONECT through the proxy will specify an HTP 1.0 protocol instead of the default HTP 1.1. -p/--proxytunnel When an HTP proxy is used (-x/--proxy), this option will cause non-HTP protocols to attempt to tunnel through the proxy instead of merely using it to do HTP-like operations. The tunnel approach is made with the HTP proxy CONECT request and requires that the proxy allows direct connect to the remote port number curl wants to tunnel through to. --pubkey (SH) Public key file name. Allows you to provide your public key in this separate file. If this option is used several times, the last one will be used. Curl 7.19.0 Last change: 10 July 2008 23 Curl Manual curl(1) -P/--ftp-port
(FTP) Reverses the default initiator/listener roles when connecting with FTP. This switch makes curl use active mode. In practice, curl then tells the server to connect back to the client's specified address and port, while passive mode asks the server to setup an IP address and port for it to connect to.
should be one of: interface i.e "eth0" to specify which interface's IP address you want to use (Unix only) IP address i.e "192.168.10.1" to specify the exact IP address host name i.e "my.host.domain" to specify the machine - make curl pick the same IP address that is already used for the control connection If this option is used several times, the last one will be used. Disable the use of PORT with --ftp-pasv. Disable the attempt to use the EPRT command instead of PORT by using -- disable-eprt. EPRT is really PORT]. -q If used as the first parameter on the command line, the curlrc config file will not be read and used. See the -K/--config for details on the default config file search path. -Q/--quote (FTP/SFTP) Send an arbitrary command to the remote FTP or SFTP server. Quote commands are sent BEFORE the transfer takes place (just after the initial PWD com- mand in an FTP transfer, to be exact). To make commands take place after a successful transfer, prefix them with a dash '-'. To make commands be sent after lib- curl has changed the working directory, just before the transfer command(s), prefix the command with a ']' (this is only supported for FTP). You may specify any number of commands. If the server returns failure for one of the commands, the entire operation will be aborted. You must send syntactically correct FTP com- mands as RFC959 defines to FTP servers, or one of the commands listed below to SFTP servers. This option can be used multiple times. SFTP is a binary protocol. Unlike for FTP, libcurl interprets SFTP quote commands before sending them to the server. Following is the list of all supported Curl 7.19.0 Last change: 10 July 2008 24 Curl Manual curl(1) SFTP quote commands: chgrp group file The chgrp command sets the group ID of the file named by the file operand to the group ID speci- fied by the group operand. The group operand is a decimal integer group ID. chmod mode file The chmod command modifies the file mode bits of the specified file. The mode operand is an octal integer mode number. chown user file The chown command sets the owner of the file named by the file operand to the user ID specified by the user operand. The user operand is a decimal integer user ID. ln sourcefile targetfile The ln and symlink commands create a symbolic link at the targetfile location pointing to the sourcefile location. mkdir directoryname The mkdir command creates the directory named by the directoryname operand. pwd The pwd command returns the absolute pathname of the current working directory. rename source target The rename command renames the file or directory named by the source operand to the destination path named by the target operand. rm file The rm command removes the file specified by the file operand. rmdir directory The rmdir command removes the directory entry specified by the directory operand, provided it is empty. symlink sourcefile targetfile See ln. --random-file (SL) Specify the path name to file containing what will be considered as random data. The data is used to seed the random engine for SL connections. See also Curl 7.19.0 Last change: 10 July 2008 25 Curl Manual curl(1) the --egd-file option. -r/--range (HTP/FTP/SFTP/FILE) Retrieve a byte range (i.e a par- tial document) from a HTP/1.1, FTP or SFTP server or a local FILE. Ranges can be specified in a number of ways. 0-499 specifies the first 500 bytes 500-999 specifies the second 500 bytes -500 specifies the last 500 bytes 9500- specifies the bytes from offset 9500 and for- ward 0-0,-1 specifies the first and last byte only(*)(H) 500-700,600-799 specifies 300 bytes from offset 500(H) 100-199,500-599 specifies two separate 100-byte ranges(*)(H) (*) = NOTE that this will cause the server to reply with a multipart response! Only digit characters (0-9) are valid in the 'start' and 'stop' fields of the 'start-stop' range syntax. If a non- digit character is given in the range, the server's response will be unspecified, depending on the server's configura- tion. You should also be aware that many HTP/1.1 servers do not have this feature enabled, so that when you attempt to get a range, you'll instead get the whole document. FTP and SFTP range downloads only support the simple 'start-stop' syntax (optionally with one of the numbers omitted). FTP use depends on the extended FTP command SIZE. If this option is used several times, the last one will be used. --raw When used, it disables all internal HTP decoding of content or transfer encodings and instead makes them passed on unaltered, raw. (Added in 7.16.2) -R/--remote-time When used, this will make libcurl attempt to figure out Curl 7.19.0 Last change: 10 July 2008 26 Curl Manual curl(1) the timestamp of the remote file, and if that is avail- able make the local file get that same timestamp. --retry If a transient error is returned when curl tries to perform a transfer, it will retry this number of times before giving up. Setting the number to 0 makes curl do no retries (which is the default). Transient error means either: a timeout, an FTP 5xx response code or an HTP 5xx response code. When curl is about to retry a transfer, it will first wait one second and then for all forthcoming retries it will double the waiting time until it reaches 10 minutes which then will be the delay between the rest of the retries. By using --retry-delay you disable this exponential backoff algorithm. See also --retry- max-time to limit the total time allowed for retries. (Added in 7.12.3) If this option is used multiple times, the last occurrence decide the amount. --retry-delay Make curl sleep this amount of time before each retry when a transfer has failed with a transient error (it changes the default backoff time algorithm between retries). This option is only interesting if --retry is also used. Setting this delay to zero will make curl use the default backoff time. (Added in 7.12.3) If this option is used multiple times, the last occurrence determines the amount. --retry-max-time The retry timer is reset before the first transfer attempt. Retries will be done as usual (see --retry) as long as the timer hasn't reached this given limit. Notice that if the timer hasn't reached the limit, the request will be made and while performing, it may take longer than this given time period. To limit a single request's maximum time, use -m/--max-time. Set this option to zero to not timeout retries. (Added in 7.12.3) If this option is used multiple times, the last occurrence determines the amount. -s/--silent Silent mode. Don't show progress meter or error mes- sages. Makes Curl mute. Curl 7.19.0 Last change: 10 July 2008 27 Curl Manual curl(1) -S/--show-error When used with -s it makes curl show an error message if it fails. --socks4 Use the specified SOCKS4 proxy. If the port number is not specified, it is assumed at port 1080. (Added in 7.15.2) This option overrides any previous use of -x/--proxy, as they are mutually exclusive. If this option is used several times, the last one will be used. --socks4a Use the specified SOCKS4a proxy. If the port number is not specified, it is assumed at port 1080. (Added in 7.18.0) This option overrides any previous use of -x/--proxy, as they are mutually exclusive. If this option is used several times, the last one will be used. --socks5-hostname Use the specified SOCKS5 proxy (and let the proxy resolve the host name). If the port number is not specified, it is assumed at port 1080. (Added in 7.18.0) This option overrides any previous use of -x/--proxy, as they are mutually exclusive. If this option is used several times, the last one will be used. (This option was previously wrongly documented and used as --socks without the number appended.) --socks5 Use the specified SOCKS5 proxy - but resolve the host name locally. If the port number is not specified, it is assumed at port 1080. This option overrides any previous use of -x/--proxy, as they are mutually exclusive. If this option is used several times, the last one will be used. (This option was previously wrongly documented and used as --socks without the number appended.) --socks5-gssapi-service Curl 7.19.0 Last change: 10 July 2008 28 Curl Manual curl(1) The default service name for a socks server is rcmd/server-fqdn. This option allows you to change it. Examples: --socks5 proxy-name --socks5-gssapi-service sockd would use sockd/proxy-name --socks5 proxy-name --socks5-gssapi-service sockd/real-name would use sockd/real-name for cases where the proxy-name does not match the princpal name. (Added in 7.19.4). --socks5-gssapi-nec As part of the gssapi negotiation a protection mode is negotiated. The rfc1961 says in section 4.3/4.4 it should be protected, but the NEC reference implementa- tion does not. The option --socks5-gssapi-nec allows the unprotected exchange of the protection mode nego- tiation. (Added in 7.19.4). --stderr Redirect all writes to stderr to the specified file instead. If the file name is a plain '-', it is instead written to stdout. This option has no point when you're using a shell with decent redirecting capabilities. If this option is used several times, the last one will be used. --tcp-nodelay Turn on the TCPNODELAY option. See the curleasysetopt(3) man page for details about this option. (Added in 7.11.2) -t/--telnet-option Pass options to the telnet protocol. Supported options are: TYPE= Sets the terminal type. XDISPLOC= Sets the X display location. NEWENV= Sets an environment variable. -T/--upload-file This transfers the specified local file to the remote URL. If there is no file part in the specified URL, Curl will append the local file name. NOTE that you must use a trailing / on the last directory to really prove to Curl that there is no file name or curl will think that your last directory name is the remote file name to use. That will most likely cause the upload operation to fail. If this is used on a HTP(S) server, Curl 7.19.0 Last change: 10 July 2008 29 Curl Manual curl(1) the PUT command will be used. Use the file name "-" (a single dash) to use stdin instead of a given file. You can specify one -T for each URL on the command line. Each -T ] URL pair specifies what to upload and to where. curl also supports "globbing" of the -T argu- ment, meaning that you can upload multiple files to a single URL by using the same URL globbing style sup- ported in the URL, like this: curl -T "{file1,file2}" http:/www.uploadtothissite.com or even curl -T "img[1-1000].png" ftp:/ftp.picturemania.com/upload/ --trace Enables a full trace dump of all incoming and outgoing data, including descriptive information, to the given output file. Use "-" as filename to have the output sent to stdout. This option overrides previous uses of -v/--verbose or --trace-ascii. If this option is used several times, the last one will be used. --trace-ascii Enables a full trace dump of all incoming and outgoing data, including descriptive information, to the given output file. Use "-" as filename to have the output sent to stdout. This is very similar to --trace, but leaves out the hex part and only shows the ASCI part of the dump. It makes smaller output that might be easier to read for untrained humans. This option overrides previous uses of -v/--verbose or --trace. If this option is used several times, the last one will be used. --trace-time Prepends a time stamp to each trace or verbose line that curl displays. (Added in 7.14.0) Curl 7.19.0 Last change: 10 July 2008 30 Curl Manual curl(1) -u/--user Specify the user name and password to use for server authentication. Overrides -n/--netrc and --netrc- optional. If you just give the user name (without entering a colon) curl will prompt for a password. If you use an SPI-enabled curl binary and do NTLM authentication, you can force curl to pick up the user name and password from your environment by simply specifying a single colon with this option: "-u :". If this option is used several times, the last one will be used. -U/--proxy-user Specify the user name and password to use for proxy authentication. If you use an SPI-enabled curl binary and do NTLM authentication, you can force curl to pick up the user name and password from your environment by simply specifying a single colon with this option: "-U :". If this option is used several times, the last one will be used. --url Specify a URL to fetch. This option is mostly handy when you want to specify URL(s) in a config file. This option may be used any number of times. To control where this URL is written, use the -o/--output or the -O/--remote-name options. -v/--verbose Makes the fetching more verbose/talkative. Mostly use- ful for debugging. A line starting with '>' means "header data" sent by curl, '<' means "header data" received by curl that is hidden in normal cases, and a line starting with '*' means additional info provided by curl. Note that if you only want HTP headers in the output, -i/--include might be the option you're looking for. If you think this option still doesn't give you enough details, consider using --trace or --trace-ascii instead. This option overrides previous uses of --trace-ascii or Curl 7.19.0 Last change: 10 July 2008 31 Curl Manual curl(1) --trace. -V/--version Displays information about curl and the libcurl version it uses. The first line includes the full version of curl, lib- curl and other 3rd party libraries linked with the exe- cutable. The second line (starts with "Protocols:") shows all protocols that libcurl reports to support. The third line (starts with "Features:") shows specific features libcurl reports to offer. Available features include: IPv6 You can use IPv6 with this. krb4 Krb4 for FTP is supported. SL HTPS and FTPS are supported. libz Automatic decompression of compressed files over HTP is supported. NTLM NTLM authentication is supported. GS-Negotiate Negotiate authentication and krb5 for FTP is sup- ported. Debug This curl uses a libcurl built with Debug. This enables more error-tracking and memory debugging etc. For curl-developers only! AsynchDNS This curl uses asynchronous name resolves. SPNEGO SPNEGO Negotiate authentication is supported. Largefile This curl supports transfers of large files, files larger than 2GB. IDN This curl supports IDN - international domain names. SPI SPI is supported. If you use NTLM and set a blank user name, curl will authenticate with your Curl 7.19.0 Last change: 10 July 2008 32 Curl Manual curl(1) current user and password. -w/--write-out Defines what to display on stdout after a completed and successful operation. The format is a string that may contain plain text mixed with any number of variables. The string can be specified as "string", to get read from a particular file you specify it "@filename" and to tell curl to read the format from stdin you write "@-". The variables present in the output format will be sub- stituted by the value or text that curl thinks fit, as described below. All variables are specified as %{variablename} and to output a normal % you just write them as %%. You can output a newline by using \n, a carriage return with \r and a tab space with \t. NOTE: The %-symbol is a special symbol in the win32- environment, where all occurrences of % must be doubled when using this option. The variables available at this point are: urleffective The URL that was fetched last. This is most meaningful if you've told curl to follow location: headers. httpcode The numerical response code that was found in the last retrieved HTP(S) or FTP(s) transfer. In 7.18.2 the alias responsecode was added to show the same info. httpconnect The numerical code that was found in the last response (from a proxy) to a curl CONECT request. (Added in 7.12.4) timetotal The total time, in seconds, that the full operation lasted. The time will be displayed with millisecond resolution. timenamelookup The time, in seconds, it took from the start until the name resolving was com- pleted. timeconnect The time, in seconds, it took from the start until the TCP connect to the remote host (or proxy) was completed. timeappconnect Curl 7.19.0 Last change: 10 July 2008 33 Curl Manual curl(1) The time, in seconds, it took from the start until the SL/SH/etc connect/handshake to the remote host was completed. (Added in 7.19.0) timepretransfer The time, in seconds, it took from the start until the file transfer was just about to begin. This includes all pre- transfer commands and negotiations that are specific to the particular protocol(s) involved. timeredirect The time, in seconds, it took for all redirection steps include name lookup, connect, pretransfer and transfer before the final transaction was started. timeredirect shows the complete execu- tion time for multiple redirections. (Added in 7.12.3) timestarttransfer The time, in seconds, it took from the start until the first byte was just about to be transferred. This includes timepretransfer and also the time the server needed to calculate the result. sizedownload The total amount of bytes that were downloaded. sizeupload The total amount of bytes that were uploaded. sizeheader The total amount of bytes of the down- loaded headers. sizerequest The total amount of bytes that were sent in the HTP request. speeddownload The average download speed that curl measured for the complete download. speedupload The average upload speed that curl meas- ured for the complete upload. contenttype The Content-Type of the requested docu- ment, if there was any. numconnects Number of new connects made in the recent transfer. (Added in 7.12.3) Curl 7.19.0 Last change: 10 July 2008 34 Curl Manual curl(1) numredirects Number of redirects that were followed in the request. (Added in 7.12.3) redirecturl When a HTP request was made without -L to follow redirects, this variable will show the actual URL a redirect would take you to. (Added in 7.18.2) ftpentrypath The initial path libcurl ended up in when logging on to the remote FTP server. (Added in 7.15.4) sslverifyresult The result of the SL peer certificate verification that was requested. 0 means the verification was successful. (Added in 7.19.0) If this option is used several times, the last one will be used. -x/--proxy Use the specified HTP proxy. If the port number is not specified, it is assumed at port 1080. This option overrides existing environment variables that set the proxy to use. If there's an environment variable setting a proxy, you can set proxy to "" to override it. Note that all operations that are performed over a HTP proxy will transparently be converted to HTP. It means that certain protocol specific operations might not be available. This is not the case if you can tunnel through the proxy, as done with the -p/--proxytunnel option. Starting with 7.14.1, the proxy host can be specified the exact same way as the proxy environment variables, including the protocol prefix (http:/) and the embed- ded user ] password. If this option is used several times, the last one will be used. -X/--request (HTP) Specifies a custom request method to use when communicating with the HTP server. The specified request will be used instead of the method otherwise used (which defaults to GET). Read the HTP 1.1 specif- ication for details and explanations. Curl 7.19.0 Last change: 10 July 2008 35 Curl Manual curl(1) (FTP) Specifies a custom FTP command to use instead of LIST when doing file lists with FTP. If this option is used several times, the last one will be used. -y/--speed-time
OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™