HTTP client that reimplements HTTPie's syntax with focus on improved performance and speed.
xh is an HTTP client that reimplements HTTPie's command-line interface with a focus on performance improvements. It provides a familiar syntax for sending HTTP requests with support for JSON and form data, headers, query parameters, and file uploads. The tool uses HTTPie's request-item syntax where = sets JSON fields, == adds query strings, : manages headers, and @ includes files in multipart requests.
The tool supports advanced HTTP features including authentication (basic, bearer, digest), SSL/TLS configuration, proxy support, session management, and HTTP/2 and HTTP/3 protocols. It can stream responses, follow redirects, and download files with resume capability. xh includes URL shorthand notation where :3000/users resolves to localhost:3000/users, and supports HTTPS-by-default when invoked as xhs.
xh includes a strict HTTPie compatibility mode when invoked as http or https, making it suitable as a drop-in replacement. The tool can output curl command translations and generate shell completions. It's designed for developers, DevOps engineers, and API testers who need a fast, feature-rich HTTP client for testing and debugging web services.
# via Homebrew
brew install xh
# via Cargo
cargo install xh --locked
# via Apt
sudo apt install xh
