2021-01-28 21:36:50 +00:00
2021-01-07 20:32:21 +03:00
2020-12-31 22:32:07 +03:00
2021-01-26 21:33:22 +00:00
2021-01-26 21:31:30 +00:00
2020-09-10 21:56:55 +01:00
2020-11-22 19:19:28 +00:00
2021-01-28 22:34:46 +08:00
2021-01-28 22:34:46 +08:00
2021-01-28 21:36:50 +00:00
2021-01-27 20:55:43 +00:00

ht

Version info

Yet another HTTPie clone in Rust.

asciicast

Installation

cargo install ht

NB: Make sure that you have Rust 1.46 or later installed.

Usage

ht 0.3.3
USAGE:
    ht [FLAGS] [OPTIONS] <[METHOD] URL> [REQUEST_ITEM]...

FLAGS:
        --offline         Construct HTTP requests without sending them anywhere
    -j, --json            (default) Data items from the command line are serialized as a JSON object
    -f, --form            Data items from the command line are serialized as form fields
    -m, --multipart       Similar to --form, but always sends a multipart/form-data request (i.e., even without files)
    -I, --ignore-stdin    Do not attempt to read stdin
    -d, --download
    -c, --continue        Resume an interrupted download
    -v, --verbose         Print the whole request as well as the response
    -q, --quiet           Do not print to stdout or stderr
    -h, --help            Prints help information
    -V, --version         Prints version information

OPTIONS:
    -A, --auth-type <auth-type>              Specify the auth mechanism [possible values: Basic, Bearer]
    -a, --auth <auth>
    -o, --output <output>                    Save output to FILE instead of stdout
    -p, --print <print>                      String specifying what the output should contain
        --pretty <pretty>                    Controls output processing [possible values: All, Colors, Format, None]
    -s, --style <theme>                      Output coloring style [possible values: Auto, Solarized]
        --default-scheme <default-scheme>    The default scheme to use if not specified in the URL

ARGS:
    <[METHOD] URL>       The request URL, preceded by an optional HTTP method
    <REQUEST_ITEM>...    Optional key-value pairs to be included in the request

Request Items

ht uses HTTPie's request-item syntax to set headers, request body, query string, etc.

  • =/:= for setting the request body's JSON fields.
  • == for adding query strings.
  • @ for including files in multipart requests.
  • : for adding or removing headers e.g connection:keep-alive or connection:.
  • ; for including headers with empty values e.g header-without-value;.

Examples

# Send a GET request
ht httpbin.org/json

# Send a POST request with body {"name": "ahmed", "age": 24}
ht httpbin.org/post name=ahmed age:=24

# Send a GET request with querystring id=5&sort=true
ht get httpbin.org/json id==5 sort==true

# Send a GET request and include a header named x-api-key with value 12345
ht get httpbin.org/json x-api-key:12345

# Send a PUT request and pipe the result to less
ht put httpbin.org/put id:=49 age:=25 | less

# Download and save to res.json
ht -d httpbin.org/json -o res.json

Syntaxes and themes used

Description
Friendly and fast tool for sending HTTP requests
Readme MIT 5.1 MiB
Languages
Rust 89.3%
PowerShell 4.4%
Shell 3.3%
Elvish 1.7%
Nushell 1.3%