Appweb HTTP Client

http — HTTP client program.


http [options] [file] URL


The http utility uses the Appweb HTTP client library to retrieve documents from HTTP servers. It supports HTTP, SSL, authentication and form data and the GET, POST, PUT, DELETE, OPTIONS and TRACE HTTP methods. The http client was primarily designed to test the Appweb server.


Option Description
--auth Type Set the authentication type to "app", "basic", "digest" or "form".
--benchmark Output timing results after retrieving URLs.
--ca file Define a bundle of root certificates to use when validating a server certificate.
--cert file Certificate CA file to validate server certificates.
--chunk size Request that web server 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.
--data bodyData String of raw body data to send with the request. Assumed to not be URL encoded. You cannot use this switch with either the --datafile or --form switches.
--debugger Disable timeouts to make running in a debugger easier.
--delete Use DELETE method. Shortcut for --method DELETE.
--form formData String of body data to send with the request. Assumed to be URL encoded. i.e. "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" were used with the URL "/", then http will retrieve
--iterations count Retrieve the URLs iterations times. Useful for load testing. This switch can also be abbreviated as -i.
--key file Private key file for SSL.
--log logSpec Specify a file to log messages. The syntax is: "--log log- Name[,moduleName][: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 redirect responses.
--noout Run in quiet mode and do no output. Suppress tracing requests. This switch can also be abbreviated as -n.
--out filename Send 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.
--password PASSWORD Password for authentication.
--post Use POST method. Shortcut for --method POST.
--printable Make binary output printable by printing hex digits for each character.
--protocol HTTP_VERSION Use the specified HTTP protocol. Version should be either '0' for HTTP/1.0 or '1' for HTTP/1.1. or '2' for HTTP/2
--put Use PUT method. Shortcut 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 count Retry failed requests this number of times.
--showHeaders Output HTTP headers. Useful for debugging.
--showStatus Output the HTTP response status code.
--single Single step between requests by pausing for user input before proceeding.
--streams count Number of http streams to spawn.
--threads loadThreads Number of threads to use. Each URL will be retrieved by all threads. Useful only for load testing.
--timeout seconds Specify a timeout to use for each request in seconds.
--upload Use multipart mime file upload for the body content
--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 document. The username may have a password appended separated by a colon.
--verbose Verbose mode. Trace activity to stdout. Can by specified multiple times for more verbose tracing. This switch can also be abbreviated as -v.
--verify Validate server certificates when using SSL.
--window size Set the HTTP/2 input window size. Min 65535 bytes.
--workers count Set maximum number of worker threads.
--zero Exit with zero status for any valid HTTP response. Normally exits with zero status only for HTTP status 200.

© Embedthis Software. All rights reserved.