HTTP Prompt – An Interactive Command Line HTTP Client

HTTP Prompt (or HTTP-prompt) is an interactive command-line HTTP client built on HTTPie and prompt_toolkit, featuring autocomplete and syntax highlighting. It also supports auto cookies, OpenAPI/Swagger integration as well as Unix-like pipelines and output redirection. In addition, it comes with more than 20 themes that you can use.

HTTP Prompt HTTP Client for Linux

HTTP Prompt HTTP Client for Linux

In this article, we will explain how to install and briefly use HTTP-prompt in Linux.

How to Install HTTP Prompt in Linux

You can install HTTP-prompt just like a regular Python package using PIP command as shown.

$ pip install http-prompt

You will likely get some permission errors if you are trying to install HTTP-prompt on the system-wide Python. It isn’t advised, but if this is what you want to do, just use sudo command to gain root privileges as shown.

$ sudo pip install http-prompt

Alternatively, you can use the --user option to install the package into user home directory as follows:

$ pip install --user http-prompt

To upgrade HTTP Prompt, do:

$ pip install -U http-prompt

How to Use HTTP Prompt in Linux

To start a session, simply run the http-prompt command as shown.

Start with the last session or http://localhost:8000
$ http-prompt

Start with the given URL
$ http-prompt http://localhost:3000

Start with some initial options
$ http-prompt localhost:3000/api --auth user:pass username=somebody
Start HTTP Prompt

Start HTTP Prompt

After starting a session, you can type commands interactively as shown in the following screenshot.

HTTP Prompt Command Usage

HTTP Prompt Command Usage

To preview how HTTP Prompt is going to call HTTPie, run the following command.

> httpie post
Preview How HTTPie is Called in HTTP Prompt

Preview How HTTPie is Called in HTTP Prompt

You can send an HTTP request, enter one of the HTTP methods as shown.

> head
> get
> post
> put
> patch
> delete
Run HTTP Methods

Run HTTP Methods

It is possible to add headers, query-string, or body parameters, use the syntax as in HTTPie. Here are some examples:

# set header
> Content-Type:application/json

# querystring parameter
> page==5

# body parameters
> username=tecmint 
> full_name='Tecmint HowTos'

# body parameters in raw JSON
> number:=45239
> is_ok:=true
> names:=["tecmint","howtos"]
> user:='{"username": "tecmint", "password": "followus"}'

# write everything in a single line
> Content-Type:application/json page==5 username=tecmint 

You can also add HTTPie options as shown.

> --form --auth user:pass
> --verify=no
> --form --auth user:pass  username=tecmint  Content-Type:application/json	

To reset the session (clear all parameters and options) or exit a session, run:

> rm *		#reset session
> exit		#exit session 

For more information and usage examples, see the HTTP-prompt documentation at:

That’s all! HTTP Prompt makes a perfect companion for HTTPie. We would love to hear from you. Share your thoughts or ask questions about HTTP-prompt via the feedback form below.

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Support Us

We are thankful for your never ending support.

Aaron Kili

Aaron Kili is a Linux and F.O.S.S enthusiast, an upcoming Linux SysAdmin, web developer, and currently a content creator for TecMint who loves working with computers and strongly believes in sharing knowledge.

Your name can also be listed here. Got a tip? Submit it here to become an TecMint author.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide
The Complete Linux System Administrator Bundle
Become an Ethical Hacker Bonus Bundle

You may also like...

Got something to say? Join the discussion.

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.