HTTP(1) User Commands HTTP(1)
NAME
http - HTTP Client program
SYNOPSIS
http [options] [files] url
[--auth basic|digest ] [--benchmark ] [--cert file] [--chunk size ]
[--continue] [--cookie cookieString] [--data] [--debugger] [--delete]
[--form string] [--header 'key: value'] [--host hostName] [--iterations
count] [--key file] [--log logSpec] [--method HTTP_METHOD] [--nofollow]
[--noout] [--out file] [--password pass] [--post] [--printable] [--pro-
tocol version] [--provider name] [--put] [--range byteRanges]
[--retries count] [--sequence] [--showHeaders] [--showStatus] [--sin-
gle] [--threads count] [--timeout seconds] [--upload] [--user name]
[--verify] [--verbose] [--workers count] [--zero]
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
--auth basic|digest
Set the type of authentication to use. Defaults to basic.
--benchmark
Output timing results after retrieving URLs.
--cert file
Certificate to send to the server to identify the client. If
using --cert, you will need to use --key to specify the private
key file.
--cacert bundle
Certificate bundle to use when validating the server certifi-
cate.
--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.
--key file
Private key file to use with the certificate file specified via
--cert.
--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.
--provider openssl|matrixssl
Select the SSL stack provider.
--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 to stdout. Useful for debugging.
--showStatus
Output the HTTP response code to stdout. If this switch is
used, the command 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.
--verify
Verify the server presented certificate when using SSL. This
will verify the certificate has not expired, is validly issued
and that the certificate common name corresponds to the host
name.
--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.
--zero Exit with a zero status for any valid HTTP response. Normally
returns a non-zero status if the HTTP response code is not a 2XX
or 3XX series response code.
REPORTING BUGS
Report bugs to dev@embedthis.com.
COPYRIGHT
Copyright (C) 2003-2013 Embedthis Software.
http July 2013 HTTP(1)