Skip to main content

Save time at the command line with HTTPie instead of curl

Automate testing endpoints, downloading files, and submitting forms with HTTPie.
Pie math on a chalkboard

Image by Chuk Yong from Pixabay

Ah, curl. While widely-loved and wildly powerful, its ergonomics leave something to be desired. Although it should not replace curl in your automation, HTTPie provides a much more human-friendly interface for testing endpoints, downloading files, submitting forms, and a whole lot more.


Most Linux distributions provide HTTPie via your system package manager. It is available on macOS via Homebrew or MacPorts, and via pip for Windows and all platforms mentioned above. Check out the documentation here for a full list of options and use-case examples.

Below I've provided a few of my favorite features.

Try it!

Want to test out that new endpoint configuration without repeatedly modifying your /etc/hosts file? No problem! Just supply the Host: option to specify the hostname that should be passed as part of the request.

http localhost:8000 Host:

Want to see what the request looks like before sending it? Tack on the --offline option!

HTTPie with the --offline option

Looking for a wget-style file downloader? You got it!

http --download
HTTPie with the --download option

Gone are the days of escaping ampersands in your query string parameters and manually URL-escaping special characters.

http --offline q==httpie+in:name per_page==1
HTTPie escape ampersand

Wrap up

I hope you find this helpful, and please share any other command-line tools that have changed your day-to-day tasks recently! A couple of other favorites of mine are ripgrep and choose.

[ Want to test your sysadmin skills? Take a skills assessment today. ]

Topics:   Linux administration   Automation  
Author’s photo

Jonathan Roemer

Jonathan Roemer is a senior DevOps engineer at Drizly with an interest in security, automation, and the human side of IT. He can usually be found hiking or reading a book on his porch. More about me

Try Red Hat Enterprise Linux

Download it at no charge from the Red Hat Developer program.