HTTPie for Web and Desktop
Tags: tutorial, webperf, performance, testing
Published: 2021-12-08 16:16:06

<!-- wp:paragraph -->
<p>As a performance engineer, we use a variety of tools and utilities for performance testing, scripting, debugging, automation and more. In my last article, I mentioned <a href="https://qainsights.com/httpie-for-performance-engineers/" target="_blank" rel="noreferrer noopener">HTTPie for Performance Engineers.</a> Recently, HTTPie team released its web and desktop flavors of HTTPie. It is currently in beta. In this blog article, we are going to deep-dive into HTTPie for Web and Desktop.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>What is HTTPie?</h2>
<!-- /wp:heading -->

<!-- wp:quote -->
<blockquote class="wp-block-quote"><p><em>HTTPie (pronounced&nbsp;aitch-tee-tee-pie) is a command-line HTTP client. Its goal is to make CLI interaction with web services as human-friendly as possible. HTTPie is designed for testing, debugging, and generally interacting with APIs &amp; HTTP servers.</em></p></blockquote>
<!-- /wp:quote -->

<!-- wp:heading -->
<h2>Download HTTPie for Desktop</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>To download HTTPie for desktop, you need to sign up for beta access. You can sign up at https://httpie.io/product. Once you get the access, you can access HTTPie for Web and download HTTPie for the Desktop.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>HTTPie for desktop helps to test the APIs behind the corporate proxy. Here is how it looks when you launch the HTTPie for the desktop version.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>HTTPie for the desktop is built using the Electron - a framework to build cross-platform desktop apps using JavaScript, HTML, and CSS.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"center","id":8927,"sizeSlug":"full","linkDestination":"media"} -->
<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://qainsights.com/wp-content/uploads/2021/12/image-16.png"><img src="https://qainsights.com/wp-content/uploads/2021/12/image-16.png" alt="HTTPie for Desktop - Dark theme (beta)" class="wp-image-8927"/></a><figcaption>HTTPie for Desktop - Dark theme (beta)</figcaption></figure></div>
<!-- /wp:image -->

<!-- wp:heading -->
<h2>Look and Feel of HTTPie for Desktop</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The minimal design looks sleek and intuitive. You will get built-in dark and light themes at this moment: dark background with green and purple font colors. On full screen, it looks gorgeous. </p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"center","id":8937,"sizeSlug":"full","linkDestination":"media"} -->
<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://qainsights.com/wp-content/uploads/2021/12/image-25.png"><img src="https://qainsights.com/wp-content/uploads/2021/12/image-25.png" alt="HTTPie in Light Theme" class="wp-image-8937"/></a><figcaption>HTTPie in Light Theme</figcaption></figure></div>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>By default, the HTTP method is GET. To change, click on GET to select the methods.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"center","id":8929,"sizeSlug":"full","linkDestination":"media"} -->
<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://qainsights.com/wp-content/uploads/2021/12/image-17.png"><img src="https://qainsights.com/wp-content/uploads/2021/12/image-17.png" alt="HTTP Methods" class="wp-image-8929"/></a><figcaption>HTTP Methods</figcaption></figure></div>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>The user interface is self-explanatory. I have just pointed out where you can find the details.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"center","id":8930,"sizeSlug":"full","linkDestination":"media"} -->
<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://qainsights.com/wp-content/uploads/2021/12/image-18.png"><img src="https://qainsights.com/wp-content/uploads/2021/12/image-18.png" alt="HTTPie User Interface" class="wp-image-8930"/></a><figcaption>HTTPie User Interface</figcaption></figure></div>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>You can add the headers easily. Keep typing, it will auto-populate.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"center","id":8931,"sizeSlug":"full","linkDestination":"media"} -->
<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://qainsights.com/wp-content/uploads/2021/12/image-19.png"><img src="https://qainsights.com/wp-content/uploads/2021/12/image-19.png" alt="Headers" class="wp-image-8931"/></a><figcaption>Headers</figcaption></figure></div>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Only two authentication methods are now supported: Basic and Bearer.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"center","id":8932,"sizeSlug":"full","linkDestination":"media"} -->
<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://qainsights.com/wp-content/uploads/2021/12/image-20.png"><img src="https://qainsights.com/wp-content/uploads/2021/12/image-20.png" alt="Auth Methods" class="wp-image-8932"/></a><figcaption>Auth Methods</figcaption></figure></div>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Payload supports text, file, and form.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"center","id":8933,"sizeSlug":"full","linkDestination":"media"} -->
<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://qainsights.com/wp-content/uploads/2021/12/image-21.png"><img src="https://qainsights.com/wp-content/uploads/2021/12/image-21.png" alt="Payload" class="wp-image-8933"/></a><figcaption>Payload</figcaption></figure></div>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>The response pane displays the vitals such as response size, duration, and timestamp. It also supports various formats such as JSON, YAML, XML, HTML, and RAW.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"center","id":8934,"sizeSlug":"full","linkDestination":"media"} -->
<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://qainsights.com/wp-content/uploads/2021/12/image-22.png"><img src="https://qainsights.com/wp-content/uploads/2021/12/image-22.png" alt="Response Pane" class="wp-image-8934"/></a><figcaption>Response Pane</figcaption></figure></div>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>To view the request preview, you can toggle the eye icon.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"center","id":8935,"sizeSlug":"full","linkDestination":"media"} -->
<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://qainsights.com/wp-content/uploads/2021/12/image-23.png"><img src="https://qainsights.com/wp-content/uploads/2021/12/image-23.png" alt="Show Preview" class="wp-image-8935"/></a><figcaption>Show Preview</figcaption></figure></div>
<!-- /wp:image -->

<!-- wp:image {"align":"center","id":8936,"sizeSlug":"large","linkDestination":"media"} -->
<div class="wp-block-image"><figure class="aligncenter size-large"><a href="https://qainsights.com/wp-content/uploads/2021/12/image-24.png"><img src="https://qainsights.com/wp-content/uploads/2021/12/image-24-1024x213.png" alt="Preview" class="wp-image-8936"/></a><figcaption>Preview</figcaption></figure></div>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>For each send, the request will be saved automatically. If you close the HTTPie, the next time launch will restore your view. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>You don't get the developer tools even if you press <code>Ctrl + Shift + I</code>. Also, there is no way to organize the requests at this moment. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>No proxy support either. Since this is a beta version, more features will be released eventually.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>Conclusion</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>HTTPie is a great utility for debugging, testing, and more for developers, automation engineers, security professionals, and performance engineers. With the cross-platform feature, it is now seamless to work in multiple environments. </p>
<!-- /wp:paragraph -->