diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/hugehelp.c | 1321 | ||||
| -rw-r--r-- | src/main.c | 4 | ||||
| -rw-r--r-- | src/version.h | 2 | 
3 files changed, 696 insertions, 631 deletions
| diff --git a/src/hugehelp.c b/src/hugehelp.c index 04783b8eb..dde24867a 100644 --- a/src/hugehelp.c +++ b/src/hugehelp.c @@ -9,693 +9,725 @@ puts (  "                            | (__| |_| |  _ <| |___ \n"  "                             \\___|\\___/|_| \\_\\_____|\n"  "NAME\n" -"     curl - get a URL with FTP, TELNET, LDAP, GOPHER, DICT, FILE,\n" -"     HTTP or HTTPS syntax.\n" +"       curl  -  get  a  URL with FTP, TELNET, LDAP, GOPHER, DICT,\n" +"       FILE, HTTP or HTTPS syntax.\n"  "\n"  "SYNOPSIS\n" -"     curl [options] url\n" +"       curl [options] url\n"  "\n"  "DESCRIPTION\n" -"     curl is a client to get documents/files from servers,  using\n" -"     any  of  the supported protocols. The command is designed to\n" -"     work without user interaction or any kind of  interactivity.\n" +"       curl is a client  to  get  documents/files  from  servers,\n" +"       using  any  of  the  supported  protocols.  The command is\n" +"       designed to work without user interaction or any  kind  of\n" +"       interactivity.\n"  "\n" -"     curl  offers  a busload of useful tricks like proxy support,\n" -"     user authentication, ftp upload,  HTTP  post,  SSL  (https:)\n" -"     connections, cookies, file transfer resume and more.\n" +"       curl offers a busload of useful tricks like proxy support,\n" +"       user authentication, ftp upload, HTTP post,  SSL  (https:)\n" +"       connections, cookies, file transfer resume and more.\n"  "\n"  "URL\n" -"     The URL syntax is protocol dependent. You'll find a detailed\n" -"     description in RFC 2396.\n" +"       The  URL  syntax  is  protocol  dependent.  You'll  find a\n" +"       detailed description in RFC 2396.\n"  "\n" -"     You can specify multiple URLs or parts of  URLs  by  writing\n" -"     part sets within braces as in:\n" +"       You can specify multiple URLs or parts of URLs by  writing\n" +"       part sets within braces as in:\n"  "\n" -"      http://site.{one,two,three}.com\n" +"        http://site.{one,two,three}.com\n"  "\n" -"     or  you can get sequences of alphanumeric series by using []\n" -"     as in:\n" +"       or  you  can get sequences of alphanumeric series by using\n" +"       [] as in:\n"  "\n" -"      ftp://ftp.numericals.com/file[1-100].txt\n" -"      ftp://ftp.numericals.com/file[001-100].txt    (with leading\n" -"     zeros)\n" -"      ftp://ftp.letters.com/file[a-z].txt\n" +"        ftp://ftp.numericals.com/file[1-100].txt\n" +"        ftp://ftp.numericals.com/file[001-100].txt    (with lead-\n" +"       ing zeros)\n" +"        ftp://ftp.letters.com/file[a-z].txt\n"  "\n" -"     It  is possible to specify up to 9 sets or series for a URL,\n" -"     but no nesting is supported at the moment:\n" +"       It  is  possible  to  specify up to 9 sets or series for a\n" +"       URL, but no nesting is supported at the moment:\n"  "\n" -"      http://www.any.org/archive[1996-1999]/vol\n" -"     ume[1-4]part{a,b,c,index}.html\n" +"        http://www.any.org/archive[1996-1999]/vol-\n" +"       ume[1-4]part{a,b,c,index}.html\n"  "\n"  "OPTIONS\n" -"     -a/--append\n" -"          (FTP) When used in a ftp upload, this will tell curl to\n" -"          append to the target file instead of overwriting it. If\n" -"          the file doesn't exist, it will be created.\n" -"\n" -"     -A/--user-agent <agent string>\n" -"          (HTTP)  Specify  the  User-Agent  string to send to the\n" -"          HTTP server. Some badly done CGIs fail if its  not  set\n" -"          to \"Mozilla/4.0\".  To encode blanks in the string, sur\n" -"          round the string with single  quote  marks.   This  can\n" -"          also be set with the -H/--header flag of course.\n" -"     -b/--cookie <name=data>\n" -"          (HTTP) Pass the data to the HTTP server as a cookie. It\n" -"          is supposedly the data  previously  received  from  the\n" -"          server  in a \"Set-Cookie:\" line.  The data should be in\n" -"          the format \"NAME1=VALUE1; NAME2=VALUE2\".\n" -"\n" -"          If no '=' letter is used in the line, it is treated  as\n" -"          a  filename  to  use  to  read previously stored cookie\n" -"          lines from, which should be used  in  this  session  if\n" -"          they  match.  Using  this  method  also  activates  the\n" -"          \"cookie parser\" which will make  curl  record  incoming\n" -"          cookies too, which may be handy if you're using this in\n" -"          combination with the  -L/--location  option.  The  file\n" -"          format of the file to read cookies from should be plain\n" -"          HTTP headers or the netscape cookie file format.\n" -"\n" -"          NOTE that the file specified with -b/--cookie  is  only\n" -"          used  as  input. No cookies will be stored in the file.\n" -"          To store cookies, save the HTTP headers to a file using\n" -"          -D/--dump-header!\n" -"\n" -"     -B/--ftp-ascii\n" -"          (FTP/LDAP)  Use ASCII transfer when getting an FTP file\n" -"          or LDAP info. For FTP, this can  also  be  enforced  by\n" -"          using an URL that ends with \";type=A\".\n" -"\n" -"     -c/--continue\n" -"          Continue/Resume   a   previous   file   transfer.  This\n" -"          instructs curl to continue appending data on  the  file\n" -"          where  it  was  previously  left, possibly because of a\n" -"          broken connection to the server. There must be a  named\n" -"          physical  file  to  append  to for this to work.  Note:\n" -"          Upload resume is depening on a command named  SIZE  not\n" -"          always present in all ftp servers! Upload resume is for\n" -"          FTP only.  HTTP resume is only possible  with  HTTP/1.1\n" -"          or later servers.\n" -"\n" -"     -C/--continue-at <offset>\n" -"          Continue/Resume  a  previous file transfer at the given\n" -"          offset. The given offset is the exact number  of  bytes\n" -"          that  will be skipped counted from the beginning of the\n" -"          source file before it is transfered to the destination.\n" -"          If  used with uploads, the ftp server command SIZE will\n" -"          not be used by curl. Upload resume  is  for  FTP  only.\n" -"          HTTP  resume  is  only  possible with HTTP/1.1 or later\n" -"          servers.\n" -"\n" -"     -d/--data <data>\n" -"          (HTTP) Sends the specified data in a  POST  request  to\n" -"          the  HTTP server. Note that the data is sent exactly as\n" -"          specified  with  no  extra  processing.   The  data  is\n" -"          expected  to  be \"url-encoded\". This will cause curl to\n" -"          pass the data to  the  server  using  the  content-type\n" -"          application/x-www-form-urlencoded. Compare to -F.\n" -"\n" -"          If  you  start  the  data  with  the letter @, the rest\n" -"          should be a file name to read the data from,  or  -  if\n" -"          you  want  curl  to read the data from stdin.  The con\n" -"          tents of the file must already be url-encoded.\n" -"\n" -"     -D/--dump-header <file>\n" -"          (HTTP/FTP) Write the HTTP headers to this  file.  Write\n" -"          the FTP file info to this file if -I/--head is used.\n" -"\n" -"          This  option is handy to use when you want to store the\n" -"          cookies that a HTTP site  sends  to  you.  The  cookies\n" -"          could then be read in a second curl invoke by using the\n" -"          -b/--cookie option!\n" -"\n" -"     -e/--referer <URL>\n" -"          (HTTP) Sends the \"Referer Page\" information to the HTTP\n" -"          server. Some badly done CGIs fail if it's not set. This\n" -"          can also be set with the -H/--header flag of course.\n" -"\n" -"     -E/--cert <certificate[:password]>\n" -"          (HTTPS) Tells curl to  use  the  specified  certificate\n" -"          file  when  getting  a file with HTTPS. The certificate\n" -"          must be in PEM format.  If the optional password  isn't\n" -"          specified, it will be queried for on the terminal. Note\n" -"          that this certificate is the private key and  the  pri\n" -"          vate certificate concatenated!\n" -"\n" -"     -f/--fail\n" -"          (HTTP)  Fail  silently  (no  output  at  all) on server\n" -"          errors. This is mostly done like this to better  enable\n" -"          scripts  etc  to  better  deal with failed attempts. In\n" -"          normal cases when a HTTP server fails to deliver a doc\n" -"          ument,  it  returns  a  HTML document stating so (which\n" -"          often also describes why and more). This flag will pre\n" -"          vent  curl  from  outputting  that  and  fail  silently\n" -"          instead.\n" -"\n" -"     -F/--form <name=content>\n" -"          (HTTP) This lets curl emulate a filled in form in which\n" -"          a  user has pressed the submit button. This causes curl\n" -"          to POST data using the content-type multipart/form-data\n" -"          according  to RFC1867. This enables uploading of binary\n" -"          files etc. To force the 'content' part to be read  from\n" -"          a  file,  prefix the file name with an @ sign. Example,\n" -"          to send your password file to the server, where  'pass\n" -"          word'   is   the   name  of  the  form-field  to  which\n" -"          /etc/passwd will be the input:\n" -"\n" -"          curl -F password=@/etc/passwd www.mypasswords.com\n" -"          To read the file's content from stdin insted of a file,\n" -"          use - where the file name should've been.\n" -"\n" -"     -h/--help\n" -"          Usage help.\n" -"\n" -"     -H/--header <header>\n" -"          (HTTP) Extra header to use when getting a web page. You\n" -"          may specify any number of extra headers. Note  that  if\n" -"          you  should  add a custom header that has the same name\n" -"          as one of the internal ones curl would use, your exter\n" -"          nally  set  header will be used instead of the internal\n" -"          one. This allows you to make even trickier  stuff  than\n" -"          curl  would  normally do. You should not replace inter\n" -"          nally set headers without knowing perfectly  well  what\n" -"          you're doing.\n" -"\n" -"     -i/--include\n" -"          (HTTP) Include the HTTP-header in the output. The HTTP-\n" -"          header includes things like server-name,  date  of  the\n" -"          document, HTTP-version and more...\n" -"\n" -"     -I/--head\n" -"          (HTTP/FTP)  Fetch  the  HTTP-header  only! HTTP-servers\n" -"          feature the command HEAD which this uses to get nothing\n" -"          but  the header of a document. When used on a FTP file,\n" -"          curl displays the file size only.\n" -"\n" -"     -K/--config <config file>\n" -"          Specify which config file to read curl arguments  from.\n" -"          The  config  file  is a text file in which command line\n" -"          arguments can be written which then will be used as  if\n" -"          they  were  written  on the actual command line. If the\n" -"          first column of a config line is a '#'  character,  the\n" -"          rest of the line will be treated as a comment.\n" -"\n" -"          Specify  the filename as '-' to make curl read the file\n" -"          from stdin.\n" -"\n" -"     -l/--list-only\n" -"          (FTP) When listing an FTP directory, this switch forces\n" -"          a  name-only  view.   Especially  useful if you want to\n" -"          machine-parse the contents of an  FTP  directory  since\n" -"          the  normal  directory view doesn't use a standard look\n" -"          or format.\n" -"\n" -"     -L/--location\n" -"          (HTTP/HTTPS) If the server reports that  the  requested\n" -"          page  has  a  different  location  (indicated  with the\n" -"          header line Location:) this flag will let curl  attempt\n" -"          to reattempt the get on the new place. If used together\n" -"          with -i or -I, headers from all requested pages will be\n" -"          shown.\n" -"\n" -"     -m/--max-time <seconds>\n" -"          Maximum time in seconds that you allow the whole opera\n" -"          tion to take.  This is useful for preventing your batch\n" -"          jobs  from  hanging  for  hours due to slow networks or\n" -"          links going down.  This doesn't work properly in  win32\n" -"          systems.\n" -"\n" -"     -M/--manual\n" -"          Manual. Display the huge help text.\n" -"\n" -"     -n/--netrc\n" -"          Makes  curl  scan  the  .netrc  file in the user's home\n" -"          directory for login name and password.  This  is  typi\n" -"          cally  used  for  ftp  on unix. If used with http, curl\n" -"          will  enable  user  authentication.  See  netrc(4)  for\n" -"          details  on  the file format. Curl will not complain if\n" -"          that file hasn't the right permissions (it  should  not\n" -"          be  world nor group readable). The environment variable\n" -"          \"HOME\" is used to find the home directory.\n" -"\n" -"          A quick and very simple  example  of  how  to  setup  a\n" -"          .netrc   to   allow   curl   to   ftp  to  the  machine\n" -"          host.domain.com with user name\n" -"\n" -"          machine host.domain.com user myself password secret\n" -"\n" -"     -N/--no-buffer\n" -"          Disables the buffering of the output stream. In  normal\n" -"          work situations, curl will use a standard buffered out\n" -"          put stream that will have the effect that it will  out\n" -"          put  the  data  in chunks, not necessarily exactly when\n" -"          the data arrives.  Using this option will disable  that\n" -"          buffering.\n" -"\n" -"     -o/--output <file>\n" -"          Write  output  to  <file> instead of stdout. If you are\n" -"          using {} or [] to fetch multiple documents, you can use\n" -"          #[num]  in  the <file> specifier. That variable will be\n" -"          replaced with the current  string  for  the  URL  being\n" -"          fetched. Like in:\n" -"\n" -"            curl http://{one,two}.site.com -o \"file_#1.txt\"\n" -"\n" -"          or use several variables like:\n" -"\n" -"            curl http://{site,host}.host[1-5].com -o \"#1_#2\"\n" -"\n" -"     -O/--remote-name\n" -"          Write output to a local file named like the remote file\n" -"          we get. (Only the file part of the remote file is used,\n" -"          the path is cut off.)\n" -"\n" -"     -P/--ftpport <address>\n" -"          (FTP)  Reverses  the initiator/listener roles when con\n" -"          necting with ftp. This switch makes Curl use  the  PORT\n" -"          command  instead  of  PASV. In practice, PORT tells the\n" -"          server to connect to the client's specified address and\n" -"          port,  while PASV asks the server for an ip address and\n" -"          port to connect to. <address> should be one of:\n" -"\n" -"          interface   i.e \"eth0\" to specify which interface's  IP\n" -"                      address you want to use  (Unix only)\n" -"\n" -"          IP address  i.e \"192.168.10.1\" to specify exact IP num\n" -"                      ber\n" -"\n" -"          host name   i.e \"my.host.domain\" to specify machine\n" -"\n" -"          -           (any single-letter string) to make it  pick\n" -"                      the machine's default\n" -"\n" -"     -q   If used as the first parameter on the command line, the\n" -"          $HOME/.curlrc file will not be read and used as a  con\n" -"          fig file.\n" -"\n" -"     -Q/--quote <comand>\n" -"          (FTP)  Send  an  arbitrary  command  to  the remote FTP\n" -"          server, by using the QUOTE command of the  server.  Not\n" -"          all  servers support this command, and the set of QUOTE\n" -"          commands are server specific! Quote commands  are  sent\n" -"          BEFORE  the  transfer is taking place. To make commands\n" -"          take place after a  successful  transfer,  prefix  them\n" -"          with a dash '-'. You may specify any amount of commands\n" -"          to be run before and after the transfer. If the  server\n" -"          returns  failure  for  one  of the commands, the entire\n" -"          operation will be aborted.\n" -"\n" -"     -r/--range <range>\n" -"          (HTTP/FTP) Retrieve a byte range (i.e a  partial  docu\n" -"          ment)  from  a  HTTP/1.1  or  FTP server. Ranges can be\n" -"          specified in a number of ways.\n" -"\n" -"          0-499     specifies the first 500 bytes\n" -"\n" -"          500-999   specifies the second 500 bytes\n" -"\n" -"          -500      specifies the last 500 bytes\n" -"\n" -"          9500      specifies the bytes from offset 9500 and for\n" -"                    ward\n" -"\n" -"          0-0,-1    specifies the first and last byte only(*)(H)\n" -"          500-700,600-799\n" -"                    specifies 300 bytes from offset 500(H)\n" -"\n" -"          100-199,500-599\n" -"                    specifies two separate 100 bytes ranges(*)(H)\n" -"\n" -"     (*) = NOTE that this will cause the server to reply  with  a\n" -"     multipart response!\n" -"\n" -"     You  should  also be aware that many HTTP/1.1 servers do not\n" -"     have this feature enabled, so that when you attempt to get a\n" -"     range, you'll instead get the whole document.\n" -"\n" -"     FTP  range  downloads only support the simple syntax 'start-\n" -"     stop' (optionally with  one  of  the  numbers  omitted).  It\n" -"     depends on the non-RFC command SIZE.\n" -"\n" -"     -s/--silent\n" -"          Silent  mode.  Don't  show progress meter or error mes\n" -"          sages.  Makes Curl mute.\n" -"\n" -"     -S/--show-error\n" -"          When used with -s it makes curl show error  message  if\n" -"          it fails.\n" -"\n" -"     -t/--upload\n" -"          Transfer  the  stdin  data  to the specified file. Curl\n" -"          will read everything from stdin  until  EOF  and  store\n" -"          with  the  supplied  name. If this is used on a http(s)\n" -"          server, the PUT command will be used.\n" -"\n" -"     -T/--upload-file <file>\n" -"          Like -t, but this transfers the specified  local  file.\n" -"          If  there  is  no  file part in the specified URL, Curl\n" -"          will append the local file name. NOTE that you must use\n" -"          a  trailing  / on the last directory to really prove to\n" -"          Curl that there is no file name or curl will think that\n" -"          your  last  directory  name  is the remote file name to\n" -"          use. That will most likely cause the  upload  operation\n" -"          to  fail.  If this is used on a http(s) server, the PUT\n" -"          command will be used.\n" -"\n" -"     -u/--user <user:password>\n" -"          Specify user and password to  use  when  fetching.  See\n" -"          README.curl  for  detailed examples of how to use this.\n" -"          If no password is  specified,  curl  will  ask  for  it\n" -"          interactively.\n" -"\n" -"     -U/--proxy-user <user:password>\n" -"          Specify  user and password to use for Proxy authentica\n" -"          tion. If no password is specified, curl will ask for it\n" -"          interactively.\n" -"     -v/--verbose\n" -"          Makes   the  fetching  more  verbose/talkative.  Mostly\n" -"          usable for debugging. Lines  starting  with  '>'  means\n" -"          data sent by curl, '<' means data received by curl that\n" -"          is hidden in normal cases and lines starting  with  '*'\n" -"          means additional info provided by curl.\n" -"\n" -"     -V/--version\n" -"          Displays  the  full  version of curl, libcurl and other\n" -"          3rd party libraries linked with the executable.\n" -"\n" -"     -w/--write-out <format>\n" -"          Defines what to display after a completed and  success\n" -"          ful  operation. The format is a string that may contain\n" -"          plain text mixed with  any  number  of  variables.  The\n" -"          string can be specified as \"string\", to get read from a\n" -"          particular file you specify it \"@filename\" and to  tell\n" -"          curl to read the format from stdin you write \"@-\".\n" -"\n" -"          The variables present in the output format will be sub\n" -"          stituted by the value or text that curl thinks fit,  as\n" -"          described  below.  All  variables  are  specified  like\n" -"          %{variable_name} and to output  a  normal  %  you  just\n" -"          write  them  like %%. You can output a newline by using\n" -"          \\n, a carrige return with \\r and a tab space with \\t.\n" -"\n" -"          NOTE:  The  %-letter  is  a  special  letter   in   the\n" -"          win32-environment,  where  all occurrences of % must be\n" -"          doubled when using this option.\n" -"\n" -"          Available variables are at this point:\n" -"\n" -"          url_effective  The URL that was fetched last.  This  is\n" -"                         mostly meaningful if you've told curl to\n" -"                         follow location: headers.\n" -"\n" -"          http_code      The numerical code that was found in the\n" -"                         last retrieved HTTP(S) page.\n" -"\n" -"          time_total     The  total  time,  in  seconds, that the\n" -"                         full operation lasted. The time will  be\n" -"                         displayed with millisecond resolution.\n" -"\n" -"          time_namelookup\n" -"                         The  time,  in seconds, it took from the\n" -"                         start until the name resolving was  com\n" -"                         pleted.\n" -"\n" -"          time_connect   The  time,  in seconds, it took from the\n" -"                         start until the connect  to  the  remote\n" -"                         host (or proxy) was completed.\n" -"          time_pretransfer\n" -"                         The  time,  in seconds, it took from the\n" -"                         start until the file  transfer  is  just\n" -"                         about  to  begin. This includes all pre-\n" -"                         transfer commands and negotiations  that\n" -"                         are  specific  to  the particular proto\n" -"                         col(s) involved.\n" -"\n" -"          size_download  The total  amount  of  bytes  that  were\n" -"                         downloaded.\n" -"\n" -"          size_upload    The  total  amount  of  bytes  that were\n" -"                         uploaded.\n" -"\n" -"          speed_download The average  download  speed  that  curl\n" -"                         measured for the complete download.\n" -"\n" -"          speed_upload   The  average upload speed that curl mea\n" -"                         sured for the complete download.\n" -"\n" -"     -x/--proxy <proxyhost[:port]>\n" -"          Use specified proxy. If the port number is  not  speci\n" -"          fied, it is assumed at port 1080.\n" -"\n" -"     -X/--request <command>\n" -"          (HTTP)  Specifies a custom request to use when communi\n" -"          cating with the HTTP  server.   The  specified  request\n" -"          will be used instead of the standard GET. Read the HTTP\n" -"          1.1 specification for details and explanations.\n" -"\n" -"          (FTP) Specifies a custom FTP command to use instead  of\n" -"          LIST when doing file lists with ftp.\n" -"\n" -"     -y/--speed-time <time>\n" -"          If a download is slower than speed-limit bytes per sec\n" -"          ond during  a  speed-time  period,  the  download  gets\n" -"          aborted. If speed-time is used, the default speed-limit\n" -"          will be 1 unless set with -y.\n" -"\n" -"     -Y/--speed-limit <speed>\n" -"          If a download is slower than this given speed, in bytes\n" -"          per  second,  for  speed-time  seconds it gets aborted.\n" -"          speed-time is set with -Y and is 30 if not set.\n" -"\n" -"     -z/--time-cond <date expression>\n" -"          (HTTP) Request to get a file  that  has  been  modified\n" -"          later  than  the  given  time and date, or one that has\n" -"          been modified before that time. The date expression can\n" -"          be all sorts of date strings or if it doesn't match any\n" -"          internal ones, it tries to get the time  from  a  given\n" -"          file  name  instead!  See  the GNU date(1) man page for\n" -"          date expression details.\n" -"          Start the date expression with a dash (-)  to  make  it\n" -"          request  for  a  document  that is older than the given\n" -"          date/time, default is a document that is newer than the\n" -"          specified date/time.\n" -"\n" -"     -3/--sslv3\n" -"          (HTTPS) Forces curl to use SSL version 3 when negotiat\n" -"          ing with a remote SSL server.\n" -"\n" -"     -2/--sslv2\n" -"          (HTTPS) Forces curl to use SSL version 2 when negotiat\n" -"          ing with a remote SSL server.\n" -"\n" -"     -#/--progress-bar\n" -"          Make  curl  display  progress information as a progress\n" -"          bar instead of the default statistics.\n" -"\n" -"     --crlf\n" -"          (FTP) Convert LF to CRLF  in  upload.  Useful  for  MVS\n" -"          (OS/390).\n" -"\n" -"     --stderr <file>\n" -"          Redirect  all  writes  to  stderr to the specified file\n" -"          instead. If the file name is a plain '-', it is instead\n" -"          written to stdout. This option has no point when you're\n" -"          using a shell with decent redirecting capabilities.\n" +"       -a/--append\n" +"              (FTP)  When  used  in  a ftp upload, this will tell\n" +"              curl to append to the target file instead of  over-\n" +"              writing  it.  If the file doesn't exist, it will be\n" +"              created.\n" +"\n" +"       -A/--user-agent <agent string>\n" +"              (HTTP) Specify the User-Agent string to send to the\n" +"              HTTP  server.  Some badly done CGIs fail if its not\n" +"              set to \"Mozilla/4.0\".   To  encode  blanks  in  the\n" +"              string,  surround  the  string  with  single  quote\n" +"              marks.  This can also be set with  the  -H/--header\n" +"              flag of course.\n" +"       -b/--cookie <name=data>\n" +"              (HTTP)  Pass  the  data  to  the  HTTP  server as a\n" +"              cookie.  It  is  supposedly  the  data   previously\n" +"              received  from  the server in a \"Set-Cookie:\" line.\n" +"              The data should be  in  the  format  \"NAME1=VALUE1;\n" +"              NAME2=VALUE2\".\n" +"\n" +"              If no '=' letter is used in the line, it is treated\n" +"              as a filename to  use  to  read  previously  stored\n" +"              cookie  lines  from,  which  should be used in this\n" +"              session if they match. Using this method also acti-\n" +"              vates  the  \"cookie  parser\"  which  will make curl\n" +"              record incoming cookies too, which may be handy  if\n" +"              you're   using   this   in   combination  with  the\n" +"              -L/--location option. The file format of  the  file\n" +"              to  read  cookies from should be plain HTTP headers\n" +"              or the netscape cookie file format.\n" +"\n" +"              NOTE that the file specified  with  -b/--cookie  is\n" +"              only  used  as  input. No cookies will be stored in\n" +"              the file. To store cookies, save the  HTTP  headers\n" +"              to a file using -D/--dump-header!\n" +"\n" +"       -B/--ftp-ascii\n" +"              (FTP/LDAP)  Use  ASCII transfer when getting an FTP\n" +"              file or LDAP  info.  For  FTP,  this  can  also  be\n" +"              enforced  by using an URL that ends with \";type=A\".\n" +"\n" +"       -c/--continue\n" +"              Continue/Resume  a  previous  file  transfer.  This\n" +"              instructs  curl  to  continue appending data on the\n" +"              file where it was previously left, possibly because\n" +"              of a broken connection to the server. There must be\n" +"              a named physical file to  append  to  for  this  to\n" +"              work.  Note: Upload resume is depening on a command\n" +"              named SIZE not always present in all  ftp  servers!\n" +"              Upload resume is for FTP only.  HTTP resume is only\n" +"              possible with HTTP/1.1 or later servers.\n" +"\n" +"       -C/--continue-at <offset>\n" +"              Continue/Resume a previous  file  transfer  at  the\n" +"              given  offset. The given offset is the exact number\n" +"              of bytes that will  be  skipped  counted  from  the\n" +"              beginning  of  the  source file before it is trans-\n" +"              fered to the destination.  If  used  with  uploads,\n" +"              the  ftp  server  command  SIZE will not be used by\n" +"              curl. Upload resume is for FTP only.   HTTP  resume\n" +"              is only possible with HTTP/1.1 or later servers.\n" +"\n" +"       -d/--data <data>\n" +"              (HTTP)  Sends  the specified data in a POST request\n" +"              to the HTTP server. Note  that  the  data  is  sent\n" +"              exactly as specified with no extra processing.  The\n" +"              data is expected to  be  \"url-encoded\".  This  will\n" +"              cause curl to pass the data to the server using the\n" +"              content-type     application/x-www-form-urlencoded.\n" +"              Compare to -F.\n" +"\n" +"              If  you  start the data with the letter @, the rest\n" +"              should be a file name to read the data from,  or  -\n" +"              if  you want curl to read the data from stdin.  The\n" +"              contents of the file must already be url-encoded.\n" +"\n" +"       -D/--dump-header <file>\n" +"              (HTTP/FTP) Write the HTTP  headers  to  this  file.\n" +"              Write  the  FTP file info to this file if -I/--head\n" +"              is used.\n" +"\n" +"              This option is handy to use when you want to  store\n" +"              the  cookies  that  a  HTTP  site sends to you. The\n" +"              cookies could then be read in a second curl  invoke\n" +"              by using the -b/--cookie option!\n" +"\n" +"       -e/--referer <URL>\n" +"              (HTTP)  Sends the \"Referer Page\" information to the\n" +"              HTTP server. Some badly done CGIs fail if it's  not\n" +"              set. This can also be set with the -H/--header flag\n" +"              of course.\n" +"\n" +"       -E/--cert <certificate[:password]>\n" +"              (HTTPS) Tells curl to use the specified certificate\n" +"              file  when  getting a file with HTTPS. The certifi-\n" +"              cate must be in PEM format.  If the optional  pass-\n" +"              word isn't specified, it will be queried for on the\n" +"              terminal. Note that this certificate is the private\n" +"              key and the private certificate concatenated!\n" +"\n" +"       -f/--fail\n" +"              (HTTP)  Fail  silently (no output at all) on server\n" +"              errors. This is mostly done  like  this  to  better\n" +"              enable  scripts  etc  to  better  deal  with failed\n" +"              attempts. In normal cases when a HTTP server  fails\n" +"              to  deliver  a document, it returns a HTML document\n" +"              stating so (which  often  also  describes  why  and\n" +"              more).  This flag will prevent curl from outputting\n" +"              that and fail silently instead.\n" +"\n" +"       -F/--form <name=content>\n" +"              (HTTP) This lets curl emulate a filled in  form  in\n" +"              which  a  user  has pressed the submit button. This\n" +"              causes curl to POST  data  using  the  content-type\n" +"              multipart/form-data   according  to  RFC1867.  This\n" +"              enables uploading of binary files etc. To force the\n" +"              'content'  part  to be read from a file, prefix the\n" +"              file name with an @ sign.  Example,  to  send  your\n" +"              password  file  to  the server, where 'password' is\n" +"              the name of the  form-field  to  which  /etc/passwd\n" +"              will be the input:\n" +"              curl -F password=@/etc/passwd www.mypasswords.com\n" +"\n" +"              To  read  the file's content from stdin insted of a\n" +"              file, use - where the file name should've been.\n" +"\n" +"       -h/--help\n" +"              Usage help.\n" +"\n" +"       -H/--header <header>\n" +"              (HTTP) Extra header to use when getting a web page.\n" +"              You  may  specify any number of extra headers. Note\n" +"              that if you should add a custom header that has the\n" +"              same  name  as  one of the internal ones curl would\n" +"              use,  your  externally  set  header  will  be  used\n" +"              instead  of  the  internal  one. This allows you to\n" +"              make even trickier stuff than curl  would  normally\n" +"              do.  You  should not replace internally set headers\n" +"              without knowing perfectly well what you're doing.\n" +"\n" +"       -i/--include\n" +"              (HTTP) Include the HTTP-header in the  output.  The\n" +"              HTTP-header  includes things like server-name, date\n" +"              of the document, HTTP-version and more...\n" +"\n" +"       -I/--head\n" +"              (HTTP/FTP) Fetch the HTTP-header only! HTTP-servers\n" +"              feature  the  command  HEAD  which this uses to get\n" +"              nothing but the header of a document. When used  on\n" +"              a FTP file, curl displays the file size only.\n" +"\n" +"       -K/--config <config file>\n" +"              Specify  which  config  file to read curl arguments\n" +"              from. The config file is a text file in which  com-\n" +"              mand  line arguments can be written which then will\n" +"              be used as if they were written on the actual  com-\n" +"              mand  line. If the first column of a config line is\n" +"              a '#' character, the  rest  of  the  line  will  be\n" +"              treated as a comment.\n" +"\n" +"              Specify  the  filename as '-' to make curl read the\n" +"              file from stdin.\n" +"\n" +"       -l/--list-only\n" +"              (FTP) When listing an FTP  directory,  this  switch\n" +"              forces  a name-only view.  Especially useful if you\n" +"              want to machine-parse the contents of an FTP direc-\n" +"              tory  since the normal directory view doesn't use a\n" +"              standard look or format.\n" +"\n" +"       -L/--location\n" +"              (HTTP/HTTPS)  If  the  server  reports   that   the\n" +"              requested  page has a different location (indicated\n" +"              with the header line Location:) this flag will  let\n" +"              curl attempt to reattempt the get on the new place.\n" +"              If used together with -i or -I,  headers  from  all\n" +"              requested pages will be shown.\n" +"\n" +"       -m/--max-time <seconds>\n" +"              Maximum  time  in  seconds that you allow the whole\n" +"              operation to take.  This is useful  for  preventing\n" +"              your  batch jobs from hanging for hours due to slow\n" +"              networks or links going down.   This  doesn't  work\n" +"              properly in win32 systems.\n" +"\n" +"       -M/--manual\n" +"              Manual. Display the huge help text.\n" +"\n" +"       -n/--netrc\n" +"              Makes  curl scan the .netrc file in the user's home\n" +"              directory for login name and password. This is typ-\n" +"              ically  used  for  ftp  on unix. If used with http,\n" +"              curl will enable user authentication. See  netrc(5)\n" +"              for  details on the file format. Curl will not com-\n" +"              plain if that file hasn't the right permissions (it\n" +"              should  not be world nor group readable). The envi-\n" +"              ronment variable \"HOME\" is used to  find  the  home\n" +"              directory.\n" +"\n" +"              A  quick  and very simple example of how to setup a\n" +"              .netrc  to  allow  curl  to  ftp  to  the   machine\n" +"              host.domain.com with user name\n" +"\n" +"              machine host.domain.com user myself password secret\n" +"\n" +"       -N/--no-buffer\n" +"              Disables the buffering of  the  output  stream.  In\n" +"              normal  work  situations,  curl will use a standard\n" +"              buffered output stream that will  have  the  effect\n" +"              that  it will output the data in chunks, not neces-\n" +"              sarily exactly when the data arrives.   Using  this\n" +"              option will disable that buffering.\n" +"\n" +"       -o/--output <file>\n" +"              Write  output  to  <file> instead of stdout. If you\n" +"              are using {} or [] to fetch multiple documents, you\n" +"              can  use  '#'  followed  by  a number in the <file>\n" +"              specifier. That variable will be replaced with  the\n" +"              current string for the URL being fetched. Like in:\n" +"\n" +"                curl http://{one,two}.site.com -o \"file_#1.txt\"\n" +"\n" +"              or use several variables like:\n" +"\n" +"                curl http://{site,host}.host[1-5].com -o \"#1_#2\"\n" +"\n" +"       -O/--remote-name\n" +"              Write  output to a local file named like the remote\n" +"              file we get. (Only the file part of the remote file\n" +"              is used, the path is cut off.)\n" +"\n" +"       -P/--ftpport <address>\n" +"              (FTP)  Reverses  the  initiator/listener roles when\n" +"              connecting with ftp. This switch makes Curl use the\n" +"              PORT  command  instead  of  PASV. In practice, PORT\n" +"              tells the server to connect to the client's  speci-\n" +"              fied  address  and port, while PASV asks the server\n" +"              for an ip address and port to connect to. <address>\n" +"              should be one of:\n" +"\n" +"              interface   i.e \"eth0\" to specify which interface's\n" +"                          IP address you want to use  (Unix only)\n" +"\n" +"              IP address  i.e  \"192.168.10.1\" to specify exact IP\n" +"                          number\n" +"\n" +"              host name   i.e \"my.host.domain\" to specify machine\n" +"\n" +"              -           (any  single-letter  string) to make it\n" +"                          pick the machine's default\n" +"\n" +"       -q     If used as the first parameter on the command line,\n" +"              the $HOME/.curlrc file will not be read and used as\n" +"              a config file.\n" +"\n" +"       -Q/--quote <comand>\n" +"              (FTP) Send an arbitrary command to the  remote  FTP\n" +"              server,  by  using the QUOTE command of the server.\n" +"              Not all servers support this command, and  the  set\n" +"              of  QUOTE  commands are server specific! Quote com-\n" +"              mands are sent BEFORE the transfer is taking place.\n" +"              To  make  commands  take  place  after a successful\n" +"              transfer, prefix them with  a  dash  '-'.  You  may\n" +"              specify any amount of commands to be run before and\n" +"              after the transfer. If the server  returns  failure\n" +"              for  one of the commands, the entire operation will\n" +"              be aborted.\n" +"\n" +"       -r/--range <range>\n" +"              (HTTP/FTP) Retrieve a byte  range  (i.e  a  partial\n" +"              document) from a HTTP/1.1 or FTP server. Ranges can\n" +"              be specified in a number of ways.\n" +"\n" +"              0-499     specifies the first 500 bytes\n" +"\n" +"              500-999   specifies the second 500 bytes\n" +"\n" +"              -500      specifies the last 500 bytes\n" +"\n" +"              9500      specifies the bytes from offset 9500  and\n" +"                        forward\n" +"\n" +"              0-0,-1    specifies   the   first   and  last  byte\n" +"                        only(*)(H)\n" +"\n" +"              500-700,600-799\n" +"                        specifies 300 bytes from offset 500(H)\n" +"\n" +"              100-199,500-599\n" +"                        specifies   two   separate   100    bytes\n" +"                        ranges(*)(H)\n" +"\n" +"       (*) = NOTE that this will cause the server to reply with a\n" +"       multipart response!\n" +"\n" +"       You should also be aware that many HTTP/1.1 servers do not\n" +"       have this feature enabled, so that when you attempt to get\n" +"       a range, you'll instead get the whole document.\n" +"\n" +"       FTP range downloads only support the simple syntax 'start-\n" +"       stop'  (optionally  with  one  of the numbers omitted). It\n" +"       depends on the non-RFC command SIZE.\n" +"\n" +"       -s/--silent\n" +"              Silent mode. Don't show  progress  meter  or  error\n" +"              messages.  Makes Curl mute.\n" +"\n" +"       -S/--show-error\n" +"              When  used with -s it makes curl show error message\n" +"              if it fails.\n" +"\n" +"       -t/--upload\n" +"              Transfer the stdin data to the specified file. Curl\n" +"              will read everything from stdin until EOF and store\n" +"              with the supplied  name.  If  this  is  used  on  a\n" +"              http(s) server, the PUT command will be used.\n" +"\n" +"       -T/--upload-file <file>\n" +"              Like  -t,  but  this  transfers the specified local\n" +"              file. If there is no file  part  in  the  specified\n" +"              URL,  Curl  will  append  the local file name. NOTE\n" +"              that you must use a trailing / on the  last  direc-\n" +"              tory  to really prove to Curl that there is no file\n" +"              name or curl will think that  your  last  directory\n" +"              name is the remote file name to use. That will most\n" +"              likely cause the upload operation to fail. If  this\n" +"              is  used  on a http(s) server, the PUT command will\n" +"              be used.\n" +"\n" +"       -u/--user <user:password>\n" +"              Specify user and password to use when fetching. See\n" +"              README.curl  for  detailed  examples  of how to use\n" +"              this. If no password is specified,  curl  will  ask\n" +"              for it interactively.\n" +"\n" +"       -U/--proxy-user <user:password>\n" +"              Specify   user   and  password  to  use  for  Proxy\n" +"              authentication. If no password is  specified,  curl\n" +"              will ask for it interactively.\n" +"\n" +"       -v/--verbose\n" +"              Makes  the  fetching more verbose/talkative. Mostly\n" +"              usable for debugging. Lines starting with '>' means\n" +"              data  sent by curl, '<' means data received by curl\n" +"              that is hidden in normal cases and  lines  starting\n" +"              with '*' means additional info provided by curl.\n" +"\n" +"       -V/--version\n" +"              Displays  the  full  version  of  curl, libcurl and\n" +"              other 3rd party  libraries  linked  with  the  exe-\n" +"              cutable.\n" +"\n" +"       -w/--write-out <format>\n" +"              Defines  what to display after a completed and suc-\n" +"              cessful operation. The format is a string that  may\n" +"              contain  plain  text mixed with any number of vari-\n" +"              ables. The string can be specified as \"string\",  to\n" +"              get  read  from  a  particular  file you specify it\n" +"              \"@filename\" and to tell curl  to  read  the  format\n" +"              from stdin you write \"@-\".\n" +"\n" +"              The  variables present in the output format will be\n" +"              substituted by the value or text that  curl  thinks\n" +"              fit,  as  described below. All variables are speci-\n" +"              fied like %{variable_name} and to output a normal %\n" +"              you  just write them like %%. You can output a new-\n" +"              line by using \\n, a carrige return with  \\r  and  a\n" +"              tab space with \\t.\n" +"\n" +"              NOTE:  The  %-letter  is  a  special  letter in the\n" +"              win32-environment, where all occurrences of %  must\n" +"              be doubled when using this option.\n" +"\n" +"              Available variables are at this point:\n" +"\n" +"              url_effective  The  URL that was fetched last. This\n" +"                             is mostly meaningful if you've  told\n" +"                             curl to follow location: headers.\n" +"\n" +"              http_code      The numerical code that was found in\n" +"                             the last retrieved HTTP(S) page.\n" +"\n" +"              time_total     The total time, in seconds, that the\n" +"                             full operation lasted. The time will\n" +"                             be displayed with millisecond  reso-\n" +"                             lution.\n" +"\n" +"              time_namelookup\n" +"                             The  time,  in seconds, it took from\n" +"                             the start until the  name  resolving\n" +"                             was completed.\n" +"              time_connect   The  time,  in seconds, it took from\n" +"                             the start until the connect  to  the\n" +"                             remote  host  (or  proxy)  was  com-\n" +"                             pleted.\n" +"\n" +"              time_pretransfer\n" +"                             The time, in seconds, it  took  from\n" +"                             the start until the file transfer is\n" +"                             just about to begin.  This  includes\n" +"                             all  pre-transfer commands and nego-\n" +"                             tiations that are  specific  to  the\n" +"                             particular protocol(s) involved.\n" +"\n" +"              size_download  The  total amount of bytes that were\n" +"                             downloaded.\n" +"\n" +"              size_upload    The total amount of bytes that  were\n" +"                             uploaded.\n" +"\n" +"              speed_download The average download speed that curl\n" +"                             measured for the complete  download.\n" +"\n" +"              speed_upload   The  average  upload speed that curl\n" +"                             measured for the complete  download.\n" +"\n" +"       -x/--proxy <proxyhost[:port]>\n" +"              Use  specified  proxy.  If  the  port number is not\n" +"              specified, it is assumed at port 1080.\n" +"\n" +"       -X/--request <command>\n" +"              (HTTP) Specifies a custom request to use when  com-\n" +"              municating  with  the  HTTP  server.  The specified\n" +"              request will be used instead of the  standard  GET.\n" +"              Read  the  HTTP  1.1  specification for details and\n" +"              explanations.\n" +"\n" +"              (FTP) Specifies a custom FTP command to use instead\n" +"              of LIST when doing file lists with ftp.\n" +"\n" +"       -y/--speed-time <time>\n" +"              If  a download is slower than speed-limit bytes per\n" +"              second during a  speed-time  period,  the  download\n" +"              gets  aborted.  If  speed-time is used, the default\n" +"              speed-limit will be 1 unless set with -y.\n" +"\n" +"       -Y/--speed-limit <speed>\n" +"              If a download is slower than this given  speed,  in\n" +"              bytes  per  second,  for speed-time seconds it gets\n" +"              aborted. speed-time is set with -Y and is 30 if not\n" +"              set.\n" +"\n" +"       -z/--time-cond <date expression>\n" +"              (HTTP) Request to get a file that has been modified\n" +"              later than the given time and date, or one that has\n" +"              been modified before that time. The date expression\n" +"              can be all sorts of date strings or if  it  doesn't\n" +"              match  any  internal ones, it tries to get the time\n" +"              from a given file name instead! See the GNU date(1)\n" +"              man page for date expression details.\n" +"\n" +"              Start  the  date expression with a dash (-) to make\n" +"              it request for a document that is  older  than  the\n" +"              given  date/time,  default  is  a  document that is\n" +"              newer than the specified date/time.\n" +"\n" +"       -3/--sslv3\n" +"              (HTTPS) Forces curl to use SSL version 3 when nego-\n" +"              tiating with a remote SSL server.\n" +"\n" +"       -2/--sslv2\n" +"              (HTTPS) Forces curl to use SSL version 2 when nego-\n" +"              tiating with a remote SSL server.\n" +"\n" +"       -#/--progress-bar\n" +"              Make  curl  display  progress  information   as   a\n" +"              progress bar instead of the default statistics.\n" +"\n" +"       --crlf (FTP)  Convert LF to CRLF in upload. Useful for MVS\n" +"              (OS/390).\n" +"\n" +"       --stderr <file>\n" +"              Redirect all writes to stderr to the specified file\n" +"              instead.  If  the  file  name is a plain '-', it is\n" +"              instead written to stdout. This option has no point\n" +"              when  you're  using a shell with decent redirecting\n" +"              capabilities.\n"  "\n"  "FILES\n" -"     ~/.curlrc\n" -"          Default config file.\n" +"       ~/.curlrc\n" +"              Default config file.\n"  "\n"  "ENVIRONMENT\n" -"     HTTP_PROXY [protocol://]<host>[:port]\n" -"          Sets proxy server to use for HTTP.\n" +"       HTTP_PROXY [protocol://]<host>[:port]\n" +"              Sets proxy server to use for HTTP.\n"  "\n" -"     HTTPS_PROXY [protocol://]<host>[:port]\n" -"          Sets proxy server to use for HTTPS.\n" +"       HTTPS_PROXY [protocol://]<host>[:port]\n" +"              Sets proxy server to use for HTTPS.\n"  "\n" -"     FTP_PROXY [protocol://]<host>[:port]\n" -"          Sets proxy server to use for FTP.\n" +"       FTP_PROXY [protocol://]<host>[:port]\n" +"              Sets proxy server to use for FTP.\n"  "\n" -"     GOPHER_PROXY [protocol://]<host>[:port]\n" -"          Sets proxy server to use for GOPHER.\n" +"       GOPHER_PROXY [protocol://]<host>[:port]\n" +"              Sets proxy server to use for GOPHER.\n"  "\n" -"     ALL_PROXY [protocol://]<host>[:port]\n" -"          Sets proxy server to use if no protocol-specific  proxy\n" -"          is set.\n" +"       ALL_PROXY [protocol://]<host>[:port]\n" +"              Sets proxy server to use  if  no  protocol-specific\n" +"              proxy is set.\n" +"       NO_PROXY <comma-separated list of hosts>\n" +"              list  of  host  names that shouldn't go through any\n" +"              proxy. If set to a asterisk '*'  only,  it  matches\n" +"              all hosts.\n"  "\n" -"     NO_PROXY <comma-separated list of hosts>\n" -"          list of host names that shouldn't go through any proxy.\n" -"          If set to a asterisk '*' only, it matches all hosts.\n" -"     COLUMNS <integer>\n" -"          The width of the terminal.  This variable only  affects\n" -"          curl when the --progress-bar option is used.\n" +"       COLUMNS <integer>\n" +"              The  width  of  the  terminal.   This variable only\n" +"              affects curl  when  the  --progress-bar  option  is\n" +"              used.\n"  "\n"  "EXIT CODES\n" -"     There exists a bunch of different error codes and their cor\n" -"     responding error messages that may appear during bad  condi\n" -"     tions. At the time of this writing, the exit codes are:\n" +"       There  exists  a  bunch of different error codes and their\n" +"       corresponding error messages that may  appear  during  bad\n" +"       conditions.  At  the  time of this writing, the exit codes\n" +"       are:\n"  "\n" -"     1    Unsupported protocol. This build of curl has no support\n" -"          for this protocol.\n" +"       1      Unsupported protocol. This build  of  curl  has  no\n" +"              support for this protocol.\n"  "\n" -"     2    Failed to initialize.\n" +"       2      Failed to initialize.\n"  "\n" -"     3    URL malformat. The syntax was not correct.\n" +"       3      URL malformat. The syntax was not correct.\n"  "\n" -"     4    URL user malformatted. The user-part of the URL  syntax\n" -"          was not correct.\n" +"       4      URL  user  malformatted.  The  user-part of the URL\n" +"              syntax was not correct.\n"  "\n" -"     5    Couldn't  resolve proxy. The given proxy host could not\n" -"          be resolved.\n" +"       5      Couldn't resolve proxy. The given proxy host  could\n" +"              not be resolved.\n"  "\n" -"     6    Couldn't resolve host. The given remote  host  was  not\n" -"          resolved.\n" +"       6      Couldn't  resolve  host.  The given remote host was\n" +"              not resolved.\n"  "\n" -"     7    Failed to connect to host.\n" +"       7      Failed to connect to host.\n"  "\n" -"     8    FTP  weird  server  reply.  The  server  sent data curl\n" -"          couldn't parse.\n" +"       8      FTP weird server reply. The server sent  data  curl\n" +"              couldn't parse.\n"  "\n" -"     9    FTP access denied. The server denied login.\n" +"       9      FTP access denied. The server denied login.\n"  "\n" -"     10   FTP user/password incorrect. Either one  or  both  were\n" -"          not accepted by the server.\n" +"       10     FTP  user/password  incorrect.  Either  one or both\n" +"              were not accepted by the server.\n"  "\n" -"     11   FTP  weird  PASS  reply.  Curl couldn't parse the reply\n" -"          sent to the PASS request.\n" +"       11     FTP weird PASS reply. Curl couldn't parse the reply\n" +"              sent to the PASS request.\n"  "\n" -"     12   FTP weird USER reply. Curl  couldn't  parse  the  reply\n" -"          sent to the USER request.\n" +"       12     FTP weird USER reply. Curl couldn't parse the reply\n" +"              sent to the USER request.\n"  "\n" -"     13   FTP  weird  PASV  reply,  Curl couldn't parse the reply\n" -"          sent to the PASV request.\n" +"       13     FTP weird PASV reply, Curl couldn't parse the reply\n" +"              sent to the PASV request.\n"  "\n" -"     14   FTP weird 227 formay. Curl couldn't parse the  227-line\n" -"          the server sent.\n" +"       14     FTP  weird  227  formay.  Curl  couldn't  parse the\n" +"              227-line the server sent.\n" +"       15     FTP can't get host. Couldn't resolve the host IP we\n" +"              got in the 227-line.\n"  "\n" -"     15   FTP can't get host. Couldn't resolve the host IP we got\n" -"          in the 227-line.\n" +"       16     FTP  can't  reconnect. Couldn't connect to the host\n" +"              we got in the 227-line.\n"  "\n" -"     16   FTP can't reconnect. Couldn't connect to  the  host  we\n" -"          got in the 227-line.\n" -"     17   FTP  couldn't  set  binary.  Couldn't  change  transfer\n" -"          method to binary.\n" +"       17     FTP couldn't set binary. Couldn't  change  transfer\n" +"              method to binary.\n"  "\n" -"     18   Partial file. Only a part of the file was transfered.\n" +"       18     Partial  file.  Only  a part of the file was trans-\n" +"              fered.\n"  "\n" -"     19   FTP couldn't RETR file. The RETR command failed.\n" +"       19     FTP couldn't RETR file. The RETR command failed.\n"  "\n" -"     20   FTP write error. The transfer was reported bad  by  the\n" -"          server.\n" +"       20     FTP write error. The transfer was reported  bad  by\n" +"              the server.\n"  "\n" -"     21   FTP  quote  error.  A quote command returned error from\n" -"          the server.\n" +"       21     FTP  quote  error.  A  quote command returned error\n" +"              from the server.\n"  "\n" -"     22   HTTP not found. The requested page was not found.  This\n" -"          return code only appears if --fail is used.\n" +"       22     HTTP not found. The requested page was  not  found.\n" +"              This return code only appears if --fail is used.\n"  "\n" -"     23   Write  error.  Curl  couldn't  write  data  to  a local\n" -"          filesystem or similar.\n" +"       23     Write  error.  Curl  couldn't write data to a local\n" +"              filesystem or similar.\n"  "\n" -"     24   Malformat user. User name badly specified.\n" +"       24     Malformat user. User name badly specified.\n"  "\n" -"     25   FTP couldn't STOR file.  The  server  denied  the  STOR\n" -"          operation.\n" +"       25     FTP couldn't STOR file. The server denied the  STOR\n" +"              operation.\n"  "\n" -"     26   Read error. Various reading problems.\n" +"       26     Read error. Various reading problems.\n"  "\n" -"     27   Out of memory. A memory allocation request failed.\n" +"       27     Out  of memory. A memory allocation request failed.\n"  "\n" -"     28   Operation  timeout.  The  specified time-out period was\n" -"          reached according to the conditions.\n" +"       28     Operation timeout. The  specified  time-out  period\n" +"              was reached according to the conditions.\n"  "\n" -"     29   FTP couldn't set ASCII. The server returned an  unknown\n" -"          reply.\n" +"       29     FTP  couldn't  set  ASCII.  The  server returned an\n" +"              unknown reply.\n"  "\n" -"     30   FTP PORT failed. The PORT command failed.\n" +"       30     FTP PORT failed. The PORT command failed.\n"  "\n" -"     31   FTP couldn't use REST. The REST command failed.\n" +"       31     FTP couldn't use REST. The REST command failed.\n"  "\n" -"     32   FTP  couldn't  use  SIZE.  The SIZE command failed. The\n" -"          command is an extension to the original  FTP  spec  RFC\n" -"          959.\n" +"       32     FTP couldn't use SIZE. The SIZE command failed. The\n" +"              command  is  an  extension to the original FTP spec\n" +"              RFC 959.\n"  "\n" -"     33   HTTP range error. The range \"command\" didn't work.\n" +"       33     HTTP range error. The range \"command\" didn't  work.\n"  "\n" -"     34   HTTP   post  error.  Internal  post-request  generation\n" -"          error.\n" +"       34     HTTP  post  error. Internal post-request generation\n" +"              error.\n" +"       35     SSL connect error. The SSL handshaking failed.\n"  "\n" -"     35   SSL connect error. The SSL handshaking failed.\n" +"       36     FTP bad download resume. Couldn't continue an  ear-\n" +"              lier aborted download.\n"  "\n" -"     36   FTP bad download resume. Couldn't continue  an  earlier\n" -"          aborted download.\n" -"     37   FILE  couldn't read file. Failed to open the file. Per\n" -"          missions?\n" +"       37     FILE  couldn't  read file. Failed to open the file.\n" +"              Permissions?\n"  "\n" -"     38   LDAP cannot bind. LDAP bind operation failed.\n" +"       38     LDAP cannot bind. LDAP bind operation failed.\n"  "\n" -"     39   LDAP search failed.\n" +"       39     LDAP search failed.\n"  "\n" -"     40   Library not found. The LDAP library was not found.\n" +"       40     Library not found. The LDAP library was not  found.\n"  "\n" -"     41   Function not found. A required LDAP  function  was  not\n" -"          found.\n" +"       41     Function  not  found.  A required LDAP function was\n" +"              not found.\n"  "\n" -"     XX   There  will  appear  more  error  codes  here in future\n" -"          releases. The existing ones are meant to never  change.\n" +"       XX     There will appear more error codes here  in  future\n" +"              releases.  The  existing  ones  are  meant to never\n" +"              change.\n"  "\n"  "BUGS\n" -"     If  you do find any (or have other suggestions), mail Daniel\n" -"     Stenberg <Daniel.Stenberg@haxx.nu>.\n" +"       If you do find  any  (or  have  other  suggestions),  mail\n" +"       Daniel Stenberg <Daniel.Stenberg@haxx.nu>.\n"  "\n"  "AUTHORS / CONTRIBUTORS\n" -"      - Daniel Stenberg <Daniel.Stenberg@haxx.nu>\n" -"      - Rafael Sagula <sagula@inf.ufrgs.br>\n" -"      - Sampo Kellomaki <sampo@iki.fi>\n" -"      - Linas Vepstas <linas@linas.org>\n" -"      - Bjorn Reese <breese@mail1.stofanet.dk>\n" -"      - Johan Anderson <johan@homemail.com>\n" -"      - Kjell Ericson <Kjell.Ericson@sth.frontec.se>\n" -"      - Troy Engel <tengel@sonic.net>\n" -"      - Ryan Nelson <ryan@inch.com>\n" -"      - Bjorn Stenberg <Bjorn.Stenberg@sth.frontec.se>\n" -"      - Angus Mackay <amackay@gus.ml.org>\n" -"      - Eric Young <eay@cryptsoft.com>\n" -"      - Simon Dick <simond@totally.irrelevant.org>\n" -"      - Oren Tirosh <oren@monty.hishome.net>\n" -"      - Steven G. Johnson <stevenj@alum.mit.edu>\n" -"      - Gilbert Ramirez Jr. <gram@verdict.uthscsa.edu>\n" -"      - Andrés García <ornalux@redestb.es>\n" -"      - Douglas E. Wegscheid <wegscd@whirlpool.com>\n" -"      - Mark Butler <butlerm@xmission.com>\n" -"      - Eric Thelin <eric@generation-i.com>\n" -"      - Marc Boucher <marc@mbsi.ca>\n" -"      - Greg Onufer <Greg.Onufer@Eng.Sun.COM>\n" -"      - Doug Kaufman <dkaufman@rahul.net>\n" -"      - David Eriksson <david@2good.com>\n" -"      - Ralph Beckmann <rabe@uni-paderborn.de>\n" -"      - T. Yamada <tai@imasy.or.jp>\n" -"      - Lars J. Aas <larsa@sim.no>\n" -"      - Jörn Hartroth <Joern.Hartroth@telekom.de>\n" -"      - Matthew Clarke <clamat@van.maves.ca>\n" -"      - Linus Nielsen <Linus.Nielsen@haxx.nu>\n" -"      - Felix von Leitner <felix@convergence.de>\n" -"      - Dan Zitter <dzitter@zitter.net>\n" -"      - Jongki Suwandi <Jongki.Suwandi@eng.sun.com>\n" -"      - Chris Maltby <chris@aurema.com>\n" -"      - Ron Zapp <rzapper@yahoo.com>\n" -"      - Paul Marquis <pmarquis@iname.com>\n" -"      - Ellis Pritchard <ellis@citria.com>\n" -"      - Damien Adant <dams@usa.net>\n" -"      - Chris <cbayliss@csc.come>\n" +"        - Daniel Stenberg <Daniel.Stenberg@haxx.nu>\n" +"        - Rafael Sagula <sagula@inf.ufrgs.br>\n" +"        - Sampo Kellomaki <sampo@iki.fi>\n" +"        - Linas Vepstas <linas@linas.org>\n" +"        - Bjorn Reese <breese@mail1.stofanet.dk>\n" +"        - Johan Anderson <johan@homemail.com>\n" +"        - Kjell Ericson <Kjell.Ericson@haxx,nu>\n" +"        - Troy Engel <tengel@sonic.net>\n" +"        - Ryan Nelson <ryan@inch.com>\n" +"        - Bjorn Stenberg <Bjorn.Stenberg@haxx.nu>\n" +"        - Angus Mackay <amackay@gus.ml.org>\n" +"        - Eric Young <eay@cryptsoft.com>\n" +"        - Simon Dick <simond@totally.irrelevant.org>\n" +"        - Oren Tirosh <oren@monty.hishome.net>\n" +"        - Steven G. Johnson <stevenj@alum.mit.edu>\n" +"        - Gilbert Ramirez Jr. <gram@verdict.uthscsa.edu>\n" +"        - Andr's Garc'a <ornalux@redestb.es>\n" +"        - Douglas E. Wegscheid <wegscd@whirlpool.com>\n" +"        - Mark Butler <butlerm@xmission.com>\n" +"        - Eric Thelin <eric@generation-i.com>\n" +"        - Marc Boucher <marc@mbsi.ca>\n" +"        - Greg Onufer <Greg.Onufer@Eng.Sun.COM>\n" +"        - Doug Kaufman <dkaufman@rahul.net>\n" +"        - David Eriksson <david@2good.com>\n" +"        - Ralph Beckmann <rabe@uni-paderborn.de>\n" +"        - T. Yamada <tai@imasy.or.jp>\n" +"        - Lars J. Aas <larsa@sim.no>\n" +"        - J\"rn Hartroth <Joern.Hartroth@telekom.de>\n" +"        - Matthew Clarke <clamat@van.maves.ca>\n" +"        - Linus Nielsen <Linus.Nielsen@haxx.nu>\n" +"        - Felix von Leitner <felix@convergence.de>\n" +"        - Dan Zitter <dzitter@zitter.net>\n" +"        - Jongki Suwandi <Jongki.Suwandi@eng.sun.com>\n" +"        - Chris Maltby <chris@aurema.com>\n" +"        - Ron Zapp <rzapper@yahoo.com>\n" +"        - Paul Marquis <pmarquis@iname.com>\n" +"        - Ellis Pritchard <ellis@citria.com>\n" +"        - Damien Adant <dams@usa.net>\n" +"        - Chris <cbayliss@csc.come>\n" +"        - Marco G. Salvagno <mgs@whiz.cjb.net>\n"  "\n"  "WWW\n" -"     http://curl.haxx.nu\n" +"       http://curl.haxx.nu\n"  "\n"  "FTP\n" -"     ftp://ftp.sunet.se/pub/www/utilities/curl/\n" +"       ftp://ftp.sunet.se/pub/www/utilities/curl/\n"  "\n"  "SEE ALSO\n" -"     ftp(1), wget(1), snarf(1)\n" +"       ftp(1), wget(1), snarf(1)\n"  "\n"  "LATEST VERSION\n"  "\n" @@ -821,33 +853,37 @@ puts (  "\n"  " FTP\n"  "\n" -"   Upload all data on stdin to a specified ftp site:\n" +"  Upload all data on stdin to a specified ftp site:\n"  "\n"  "        curl -t ftp://ftp.upload.com/myfile\n"  "\n" -"   Upload data from a specified file, login with user and password:\n" +"  Upload data from a specified file, login with user and password:\n"  "\n"  "        curl -T uploadfile -u user:passwd ftp://ftp.upload.com/myfile\n"  "\n" -"   Upload a local file to the remote site, and use the local file name remote\n" -"   too:\n" +"  Upload a local file to the remote site, and use the local file name remote\n" +"  too:\n"  " \n"  "        curl -T uploadfile -u user:passwd ftp://ftp.upload.com/\n"  "\n" -"   NOTE: Curl is not currently supporing ftp upload through a proxy! The reason\n" -"   for this is simply that proxies are seldomly configured to allow this and\n" -"   that no author has supplied code that makes it possible!\n" +"  Upload a local file to get appended to the remote file using ftp:\n" +"\n" +"        curl -T localfile -a ftp://ftp.upload.com/remotefile\n" +"\n" +"  NOTE: Curl does not support ftp upload through a proxy! The reason for this\n" +"  is simply that proxies are seldomly configured to allow this and that no\n" +"  author has supplied code that makes it possible!\n"  "\n"  " HTTP\n"  "\n" -"   Upload all data on stdin to a specified http site:\n" +"  Upload all data on stdin to a specified http site:\n"  "\n"  "        curl -t http://www.upload.com/myfile\n"  "\n" -"   Note that the http server must've been configured to accept PUT before this\n" -"   can be done successfully.\n" +"  Note that the http server must've been configured to accept PUT before this\n" +"  can be done successfully.\n"  "\n" -"   For other ways to do http data upload, see the POST section below.\n" +"  For other ways to do http data upload, see the POST section below.\n"  "\n"  "VERBOSE / DEBUG\n"  "\n" @@ -1156,9 +1192,9 @@ puts (  "\n"  "HTTPS\n"  "\n" -"  Secure HTTP requires SSLeay to be installed and used when curl is built. If\n" -"  that is done, curl is capable of retrieving and posting documents using the\n" -"  HTTPS procotol.\n" +"  Secure HTTP requires SSL libraries to be installed and used when curl is\n" +"  built. If that is done, curl is capable of retrieving and posting documents\n" +"  using the HTTPS procotol.\n"  "\n"  "  Example:\n"  "\n" @@ -1171,9 +1207,10 @@ puts (  "  browsers (Netscape and MSEI both use the so called PKCS#12 format). If you\n"  "  want curl to use the certificates you use with your (favourite) browser, you\n"  "  may need to download/compile a converter that can convert your browser's\n" -"  formatted certificates to PEM formatted ones. Dr Stephen N. Henson has\n" -"  written a patch for SSLeay that adds this functionality. You can get his\n" -"  patch (that requires an SSLeay installation) from his site at:\n" +"  formatted certificates to PEM formatted ones. This kind of converter is\n" +"  included in recent versions of OpenSSL, and for older versions Dr Stephen\n" +"  N. Henson has written a patch for SSLeay that adds this functionality. You\n" +"  can get his patch (that requires an SSLeay installation) from his site at:\n"  "  http://www.drh-consultancy.demon.co.uk/\n"  "\n"  "  Example on how to automatically retrieve a document using a certificate with\n" @@ -1300,6 +1337,34 @@ puts (  "\n"  "  The usage of the -x/--proxy flag overrides the environment variables.\n"  "\n" +"NETRC\n" +"\n" +"  Unix introduced the .netrc concept a long time ago. It is a way for a user\n" +"  to specify name and password for commonly visited ftp sites in a file so\n" +"  that you don't have to type them in each time you visit those sites. You\n" +"  realize this is a big security risk if someone else gets hold of your\n" +"  passwords, so therefor most unix programs won't read this file unless it is\n" +"  only readable by yourself (curl doesn't care though).\n" +"\n" +"  Curl supports .netrc files if told so (using the -n/--netrc option). This is\n" +"  not restricted to only ftp, but curl can use it for all protocols where\n" +"  authentication is used.\n" +"\n" +"  A very simple .netrc file could look something like:\n" +"\n" +"        machine curl.haxx.nu login iamdaniel password mysecret\n" +"\n" +"CUSTOM OUTPUT\n" +"\n" +"  To better allow script programmers to get to know about the progress of\n" +"  curl, the -w/--write-out option was introduced. Using this, you can specify\n" +"  what information from the previous transfer you want to extract.\n" +"\n" +"  To display the amount of bytes downloaded together with some text and an\n" +"  ending newline:\n" +"\n" +"        curl -w 'We downloaded %{size_download} bytes\\n' www.download.com\n" +"\n"  "MAILING LIST\n"  "\n"  "  We have an open mailing list to discuss curl, its development and things\n" diff --git a/src/main.c b/src/main.c index 3e1918be1..2545cd058 100644 --- a/src/main.c +++ b/src/main.c @@ -1153,7 +1153,7 @@ int main(int argc, char *argv[])                      URGTAG_CRLF, config.crlf,                      URGTAG_QUOTE, config.quote,                      URGTAG_POSTQUOTE, config.postquote, -                    URGTAG_WRITEHEADER, &heads, +                    URGTAG_WRITEHEADER, config.headerfile?&heads:NULL,                      URGTAG_COOKIEFILE, config.cookiefile,                      URGTAG_SSLVERSION, config.ssl_version,                      URGTAG_TIMECONDITION, config.timecond, @@ -1171,7 +1171,7 @@ int main(int argc, char *argv[])      /* it wasn't directed to stdout or stderr so close the file! */      fclose(config.errors); -  if(!headerfilep && heads.stream) +  if(config.headerfile && !headerfilep && heads.stream)      fclose(heads.stream);    if(urlbuffer) diff --git a/src/version.h b/src/version.h index fcbce529b..7eb55d704 100644 --- a/src/version.h +++ b/src/version.h @@ -1,3 +1,3 @@  #define CURL_NAME "curl" -#define CURL_VERSION "6.5" +#define CURL_VERSION "6.5.2"  #define CURL_ID CURL_NAME " " CURL_VERSION " (" OS ") " | 
