HTTPie (pronounced aitch-tee-tee-pie) is a cURL-like, modern, user-friendly, and cross-platform command line HTTP client written in Python. It is designed to make CLI interaction with web services easy and as user-friendly as possible.

HTTPie - A Command Line HTTP Client >

HTTPie – A Command Line HTTP Client

It has a simple http command that enables users to send arbitrary HTTP requests using a straightforward and natural syntax. It is used primarily for testing, trouble-free debugging, and mainly interacting with HTTP servers, web services and RESTful APIs.

  • HTTPie comes with an intuitive UI and supports JSON.

  • Expressive and intuitive command syntax.
  • Syntax highlighting, formatted and colorized terminal output.
  • HTTPS, proxies, and authentication support.
  • Support for forms and file uploads.
  • Support for arbitrary request data and headers.
  • Wget-like downloads and extensions.
  • Supports ython 2.7 and 3.x.

In this article, we will show how to install and use httpie with some basic examples in Linux.

How to Install and Use HTTPie in Linux

Most Linux distributions provide a

HTTPie package that can be easily installed using the default system package manager, for example:

# apt-get install httpie  [On Debian/Ubuntu]
# dnf install httpie      [On Fedora]
# yum install httpie      [On CentOS/RHEL]
# pacman -S httpie        [On Arch Linux]

Once installed, the syntax for using

httpie is:

$ http [options] [METHOD] URL [ITEM [ITEM]]

The most basic usage of

httpie is to provide it a URL as an argument:

$ http
Basic HTTPie Usage>

Basic HTTPie Usage

Now let’s see some basic usage of

httpie command with examples.

Send a HTTP Method

You can send a HTTP method in the request, for example, we will send the

GET method which is used to request data from a specified resource. Note that the name of the HTTP method comes right before the URL argument.

$ http GET tecmint.lan
Send GET HTTP Method>

Send GET HTTP Method

Upload a File

This example shows how to upload a file to using input redirection.

$ http < file.txt

Download a File

You can download a file as shown.

$ http > file.txt		#using output redirection
$ http --download  	        #using wget format

Submit a Form

You can also submit data to a form as shown.

$ http --form POST tecmint.lan date='Hello World'

View Request Details

To see the request that is being sent, use -v option, for example.

$ http -v --form POST tecmint.lan date='Hello World'
View HTTP Request Details>

View HTTP Request Details

Basic HTTP Auth

HTTPie also supports basic HTTP authentication from the CLI in the form:

$ http -a username:password http://tecmint.lan/admin/

Custom HTTP Headers

You can also define custom HTTP headers in using the

Header:Value notation. We can test this using the following URL, which returns headers. Here, we have defined a custom User-Agent called ‘strong>TEST 1.0’:

$ http GET User-Agent:'TEST 1.0'
Custom HTTP Headers>

Custom HTTP Headers

See a complete list of usage options by running.

$ http --help
$ man  ttp

You can find more usage examples from the

HTTPie Github repository:

HTTPie is a cURL-like, modern, user-friendly command line HTTP client with simple and natural syntax, and displays colorized output. In this article, we have shown how to install and use httpie in Linux. If you have any questions, reach us via the comment form below.

Source :

Thank You for Visiting My Website Check Out Our New Products !
HTTPie – A Modern HTTP Client Similar to Curl and Wget Commands
HTTP/3 Replaces TCP with UDP to Boost Network Speed, Reliability
Instrumenting HTTP requests in node
Tumblr HTTP and HTTPS
HTTP Debugger 8.22 Professional [Latest]
HTTP Forwarded and X-Forwarded-* Header Support: Dev Build Update