HTTP(1)                          User Commands                         HTTP(1)

NAME
       http - HTTP Client program

SYNOPSIS
       http [options] [files] url

       [--benchmark  ]  [--chunk  size  ] [--continue] [--cookie cookieString]
       [--data]  [--debugger]  [--delete]  [--form  string]  [--header   'key:
       value']   [--host   hostName]   [--iterations  count]  [--log  logSpec]
       [--method HTTP_METHOD] [--nofollow] [--noout] [--out file]  [--password
       pass]  [--post]  [--printable]  [--protocol  version]  [--put] [--range
       byteRanges] [--retries count] [--sequence] [--showHeaders]  [--showSta-
       tus]   [--single]  [--threads  count]  [--timeout  seconds]  [--upload]
       [--user name] [--verbose] [--workers count]

DESCRIPTION
       The http command issues HTTP commands to  retrieve  files  from  a  web
       server.  If "files" are provided on the command line these are included
       in the request body data.

OPTIONS
       --benchmark
              Output timing results after retrieving URLs.

       --chunk size
              Request that web  server  use  use  transfer  encoding  for  the
              response  and  break  the  response  data  into  chunks  of  the
              requested size. This is an Appweb web server custom  header  and
              will be ignored by other web servers.

       --continue
              Continue on errors. Default is to stop on the first error.

       --cookie cookieString
              Define  a  cookie string to send with the request. Multiple uses
              okay.

       --debugger
              Run in debug mode and disable all timeouts. Useful when  running
              a  server in the debugger to prevent the client from retrying or
              killing the request.

       --data String of raw body data to send with the request.

       --delete
              Issue a DELETE request. This is an alias for --method DELETE.

       --form formData
              String of body data to send with the request. Assumed to be  URL
              encoded. ie. "name=paul&address=uk".  You cannot use this switch
              with either the --datafile or --form switches.

       --header "key: value"
              Add a custom header to send with the request. Multiple  --header
              switches can be supplied.

       --host name
              Prepend  all  URLs  with  the specified host. For example if '-h
              www.myHost.com:8888" were used with the URL "/index.html",  then
              http will retrieve http://www.myHost.com:8888.

       --iterations count
              Retrieve  the  URLs  iterations  times. Useful for load testing.
              This switch can also be abbreviated as -i.

       --log logSpec
              Specify a file to log messages.   The  syntax  is:  "--log  log-
              File[:logLevel]".   Level  3 will trace the request and response
              headers.

       --method method
              Set the HTTP method. Values  may  be  "GET",  "PUT",  "OPTIONS",
              "TRACE".

       --nofollow
              Don't  automatically  follow  redirects.  Normal behaviour is to
              follow redirects and reissue the request if the server  responds
              with a redirection response (30X response).

       --noout
              Run  in  quiet mode and do no output. Suppress tracing requests.
              This switch can also be abbreviated as -n or as --quiet or -q.

       --out file
              Save response output to the given file.

       --password passPhrase
              Specify a password to send with the  request.  Requires  a  user
              name to be also specified via --user.

       --post Issue a POST request. This is an alias for --method POST.

       --printable
              Make  binary  output  printable  by printing hex digits for each
              character.

       --protocol HTTP_VERSION
              Use the specified HTTP protocol. httpVersion  should  be  either
              '0' for HTTP/1.0 or 1 for HTTP/1.1.

       --put  Issue a PUT request. This is an alias for --method PUT.

       --range byteRange
              Request  that  only the specified byte range of data be returned
              with the response.  This  will  add  a  "Range"  header  to  the
              request.   The  range  format  is:  Range: bytes=n1-n2,n3-n4,...
              where n1 is first byte position and n2 is  last  byte  position.
              Multiple --range switches can be supplied.  Examples:

              0-49             first 50 bytes
              50-99,200-249    Two 50 byte ranges from 50 and 200
              -50              Last 50 bytes
              1-               Skip first byte then emit the rest

       --retries retryCount
              Retry failed requests this number of times.

       --showHeaders
              Output HTTP headers. Useful for debugging.

       --showStatus
              Output  the HTTP response code. If this switch is used, the com-
              mand will always exit with zero status.

       --single
              Single step between requests by pausing for  user  input  before
              proceeding.

       --threads loadThreads
              Number  of  threads  to  use.  Each URL will be retrieved by all
              threads. Useful only for load testing.

       --timeout seconds
              Specifies a timeout to use for each request in seconds.

       --upload
              Issue a POST request with multipart mime encoding for the  files
              specified  on  the  command  line. This is an alias for --method
              POST with files on the command line.

       --user user
              Specify a user name to send with the request. If a  password  is
              not  specified  via  --password,  the  program will prompt for a
              password (which will not be echoed). The username  and  password
              will  be  sent  with the request according to the authentication
              protocol required by the requested web server and requested doc-
              ument.

       --verbose
              Verbose  mode. Trace activity to stdout. Can by specified multi-
              ple times for more verbose tracing.  This  switch  can  also  be
              abbreviated as -v.

       --workers count
              Specify the number of worker threads to use. Worker threads tem-
              porarily assigned to process callbacks.

REPORTING BUGS
       Report bugs to dev@embedthis.com.

COPYRIGHT
       Copyright (C) 2003-2012 Embedthis Software.

http                               July 2012                           HTTP(1)