Crates.io | ht |
lib.rs | ht |
version | 0.6.1 |
source | src |
created_at | 2018-02-28 02:52:09.287572 |
updated_at | 2021-02-12 19:36:14.220293 |
description | Yet another HTTPie clone |
homepage | https://github.com/ducaale/ht |
repository | https://github.com/ducaale/ht |
max_upload_size | |
id | 53135 |
size | 387,252 |
ht has moved to xh. For more context behind the change, see #1
Yet another HTTPie clone in Rust.
brew install ht-rust
yay -S ht-bin
The release page contains prebuilt binaries for Linux, macOS and Windows.
Make sure that you have Rust 1.46 or later installed.
cargo install ht
ht 0.6.0
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
-F, --follow Do follow redirects
-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
-S, --stream Always stream the response body
-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
--max-redirects <max-redirects> Number of redirects to follow, only respected if `follow` is set
-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
ht
uses HTTPie's request-item syntax to set headers, request body, query string, etc.
=
/:=
for setting the request body's JSON fields (=
for strings and :=
for other JSON types).==
for adding query strings.@
for including files in multipart requests e.g picture@hello.jpg
or picture@hello.jpg;type=image/jpeg
.:
for adding or removing headers e.g connection:keep-alive
or connection:
.;
for including headers with empty values e.g header-without-value;
.# 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