30 open-source projects similar to jakubroztocil/httpie, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Httpie alternative.
HTTPie is a command-line HTTP client designed for sending requests to web services and APIs. It functions as a terminal-based web client and JSON API interface, allowing users to interact with RESTful services and download remote files directly from the console. The tool simplifies the interaction with APIs through a custom syntax for argument parsing and automatic JSON payload serialization. It includes a request debugger to verify the structure of a request before transmission and uses ANSI-based formatting to display server responses with color and indentation for improved readability. Th
HTTPie is a command-line HTTP client and REST API testing tool designed for sending requests to web services and APIs. It functions as a JSON-native network client and interactive HTTP debugger, providing a terminal interface for constructing and validating API requests and responses. The tool simplifies the process of interacting with APIs by automatically handling JSON payloads and applying colorized formatting to responses for human readability. It supports the simulation of request generation to verify headers and bodies before they are sent over the network. The project covers a broad r
This project is a terminal-based HTTP client designed for interacting with web services, debugging APIs, and automating network requests. It provides a specialized command-line interface that simplifies the construction of complex HTTP exchanges, allowing users to test and inspect web services directly from the shell. The tool distinguishes itself through a declarative syntax engine that translates shorthand command-line tokens into fully formed HTTP requests, including headers, parameters, and body payloads. It features a modular, plugin-based architecture that enables users to extend core f
httpstat is a command-line utility for executing HTTP requests and analyzing network timing, response metadata, and connection performance. It serves as a diagnostic tool and debugger for inspecting HTTP headers and response bodies through a terminal interface. The tool focuses on performance analysis by measuring the latency of secure web requests, including the overhead of the TLS handshake and general connection timing. It provides color-coded output to visually separate request and response metadata for human analysis. The utility covers API integration testing and network troubleshootin
xh is a command-line HTTP client used for sending network requests, testing REST APIs, and debugging connections. It functions as a terminal-based tool for executing requests with custom headers and bodies, while providing built-in formatting for network responses. The project includes a generator that converts configured network requests into equivalent shell commands for use in a standard terminal. It also features a response formatter that applies syntax highlighting and custom formatting to response headers and bodies to improve readability. The tool covers a broad range of network capab
C++ is a high-level HTTP client library and wrapper for libcurl. It provides a C++ interface for making network requests, managing network sessions, and implementing data transfers. The library distinguishes itself by offering an asynchronous HTTP client capable of executing non-blocking requests via callback interfaces. It also functions as a multipart form uploader for transmitting files and structured data, as well as an SSE stream handler for processing real-time server-sent events over persistent connections. Its broader capabilities cover secure web communication through SSL encryption
Swagger UI is an OpenAPI specification renderer and documentation interface that transforms JSON or YAML API definitions into a navigable, searchable website. It functions as an OpenAPI documentation UI and request client, providing a visual catalog for exploring endpoints and sending live HTTP requests to a server using a schema-defined interface. The project distinguishes itself through a plugin-based extension system and a schema-driven UI generation model. This architecture allows for the injection of custom components, state selectors, and helper functions to modify core behavior and lay
Rest-assured is a Java-based REST API testing framework and HTTP client library designed for automating web service tests. It provides a fluent domain-specific language and assertion library to send HTTP requests and validate response metadata, including status codes, headers, cookies, and bodies. The framework is distinguished by a method-chaining DSL that creates readable specifications for API interactions. It features a filter-based request interception pipeline, object-mapping serialization for converting Java objects to JSON or XML, and a path-based parsing system to isolate specific fi
Powerline is a statusline and prompt generation framework designed to provide consistent visual information across terminal shells, text editors, and multiplexers. It functions as a configuration-driven customization engine that allows users to define themes, color schemes, and dynamic segment layouts to maintain a cohesive interface across diverse command-line environments. The system utilizes a persistent background daemon to manage state and rendering logic, which offloads processing tasks to minimize resource consumption and ensure high responsiveness across multiple active application in
Autojump is a shell directory navigation tool and weighted directory search utility. It functions as a path shortcut manager that allows users to jump to frequently visited directories using partial name matching. The tool optimizes shell workflows by learning navigation patterns and maintaining a weighted database of visited paths. It ranks folders based on access frequency and recency to resolve ambiguous queries and minimize the keystrokes required to reach deeply nested directories. Beyond shell navigation, the utility provides integration with native system file explorers to launch mana
Exa is a command-line utility designed to replace traditional file listing commands in Unix-like environments. It functions as a terminal-based file explorer that displays directory contents alongside system metadata and file attributes. The tool distinguishes itself by integrating version control information directly into the directory listing, allowing users to view the status of files within a repository alongside standard system data. It utilizes terminal-based styling to provide color-coded output, which helps visually differentiate between file types and metadata. The utility supports
http-prompt is an interactive HTTP client and API testing CLI designed for constructing and debugging network requests to REST and GraphQL endpoints. It functions as a command-line request builder and a shell extension built on top of HTTPie. The tool provides an interactive shell interface featuring request autocomplete and real-time syntax highlighting for requests and responses. It incorporates stateful session management to maintain request history and session data across multiple commands. The project covers API request automation and REST API debugging, allowing users to send and verif
Hurl is a command line HTTP testing tool and REST API test runner that uses a declarative, plain-text format to specify HTTP requests and responses. It functions as a client for continuous integration pipelines, allowing users to describe request sequences without a full programming language. The tool distinguishes itself by sequencing HTTP calls and verifying responses through matchers and variable capture. It maintains a stateful variable store, enabling data extracted from one response to influence subsequent requests within a workflow. The system covers API integration testing and REST w
Axios is an isomorphic, promise-based HTTP client designed for making asynchronous network requests across different JavaScript execution environments, including the browser and Node.js. It functions as a JSON API client that serializes JavaScript objects into JSON and parses server responses into structured data. The project features a system for managing reusable client instances with shared configurations, such as base URLs and default settings. It includes a mechanism for intercepting outgoing requests and incoming responses globally, allowing data to be transformed before it reaches the
Curlie is a terminal-based HTTP client and debugging tool used for executing network requests and interacting with REST APIs. It provides a command line interface for sending requests using simplified syntax, with a specific focus on interacting with JSON services. The tool distinguishes itself by converting simplified interactive requests into standard curl commands for external reproduction and sharing. It also features unbuffered data streaming to monitor server responses in real time as they arrive. The project covers a broad range of API testing capabilities, including request prototypi
Wuzz is an interactive command line HTTP client and request inspector designed for capturing, reviewing, and analyzing outgoing network calls and their payloads. It functions as a terminal-based tool for debugging API issues and testing web endpoints. The tool provides specialized filtering for response bodies, using regular expressions and format-specific query syntaxes tailored for JSON and HTML data. It allows for the persistence of captured requests and responses to disk to facilitate the reproduction of network issues and offline analysis. User settings and default request behaviors are
cpr is a C++ networking library that provides a high-level HTTP request client. It functions as a wrapper around libcurl to simplify the process of sending and receiving data from web servers, specifically managing GET and POST calls and multipart form uploads. The library provides both synchronous and asynchronous execution models, allowing network requests to run on background threads to prevent application freezing. It integrates with the C++ Standard Library to map low-level pointers to standard strings and containers, utilizing RAII for automatic resource management. The project covers
libhv is a high-performance C/C++ network library and event-driven I/O framework used to build TCP, UDP, SSL, HTTP, WebSocket, and MQTT clients and servers. It provides a non-blocking event loop for managing network sockets, timers, and system signals across multiple threads. The project is distinguished by its integrated support for specialized network roles, including a full HTTP web server with RESTful routing and middleware, an MQTT messaging client for IoT communication, and the ability to implement SOCKS5 and HTTP proxies. It also features a reliable UDP implementation to ensure ordered
Superagent is an isomorphic JavaScript HTTP client for sending network requests and processing responses across both Node.js and web browser environments. It provides a fluent request builder that uses a chainable interface to construct complex network requests with custom headers, query strings, and bodies. The library functions as a runtime-agnostic request adapter, allowing a single codebase to work consistently across different environments. It includes specialized capabilities such as an HTTP/2 client for forcing the HTTP/2 protocol and a Node.js agent for managing Unix socket connection
Vegeta is an HTTP load testing tool and library designed to measure the performance and stability of web services. It functions as a command-line utility, a programmable package for integration into other applications, and a distributed load generator capable of splitting request rates across multiple machines. The tool is distinguished by its constant-rate request scheduler, which dispatches requests at a fixed frequency regardless of target response times. It employs lazy target streaming to maintain low memory usage during large tests and uses a binary-encoded storage format to minimize di
Crawlee-python is a web crawling framework for building scalable scrapers using Python. It serves as a comprehensive tool for web scraping automation, providing a system to extract structured data from websites using both lightweight HTTP requests and headless browser automation. The framework is distinguished by its anti-bot evasion capabilities, which include browser fingerprint impersonation and tiered proxy rotation to bypass detection systems and solve challenges such as Cloudflare. It also incorporates artificial intelligence for autonomous website navigation and schema-based data extra
This is an asynchronous HTTP client for Android that simplifies network requests by wrapping Apache HttpClient. It provides a callback-based networking library for fetching remote data and communicating with servers without blocking the user interface. The project includes a multipart HTTP uploader for sending binary files and large data payloads, as well as a JSON parser to convert raw response text into structured data objects. It features a session manager that persists cookies in local application preferences to maintain state across multiple requests. Additional capabilities include aut
Curl is a command-line tool and portable library for transferring data across a wide range of network protocols. It functions as a unified engine that abstracts diverse communication standards, allowing users and developers to move files and information between servers using a consistent interface. The project provides both a versatile command-line client for terminal-based automation and a stable programmatic interface for integrating complex network operations into applications. The system is distinguished by its protocol-agnostic core and its ability to manage both synchronous and asynchro
This is a header-only C++ library that provides implementations for HTTP clients, HTTP servers, and a WebSocket framework. It allows for the creation of network services and the consumption of remote APIs without requiring a separate compilation step or external binary linking. The project features backend-agnostic TLS integration for secure HTTPS and WSS communication and employs a thread-pool model to process concurrent requests. It distinguishes itself with a full-duplex WebSocket state-machine and a middleware-based request pipeline that supports regular-expression path routing. The libr
Gron is a command line utility that transforms nested JSON data into a flat list of path-value assignments. This process converts hierarchical structures into line-based statements, mapping every leaf value to its absolute path to make the data compatible with standard text-processing tools. The tool allows for the bidirectional transformation of data, enabling the reconstruction of original nested JSON objects from flattened path assignments. It can ingest JSON from local files, standard input, or remote URLs, with the ability to route network traffic through proxy servers. The utility supp
Hexyl is a colored hex dump utility and binary data viewer for the terminal. It allows for the inspection of binary files by rendering contents as a colored hex dump to distinguish between different byte categories, such as printable text, whitespace, and null bytes. The tool includes a C-style hex exporter that transforms binary data into C include files for direct integration into source code. It supports visual layout customization through configurable panels and borders, as well as the ability to define colors for byte categories and offsets using terminal colors or RGB hex codes via envi
This is an ANSI terminal color library and console output manager used for applying colors and text attributes to command line interface output. It functions as a terminal text styler and RGB color formatter, generating the escape codes necessary for foreground and background styling. The project supports 24-bit high-color RGB mapping for precise color rendering in compatible terminal emulators. It enables the creation of colorized text fragments that can be embedded into larger blocks of text or applied as global styles that persist across subsequent output streams. The library covers broad
Wego is a terminal-based weather client and dashboard that functions as an API wrapper for retrieving atmospheric data. It provides a command-line interface for accessing current weather conditions and multi-day forecasts across various provider backends. The tool features a provider-based abstraction to decouple data retrieval from specific API implementations and utilizes disk-based response caching to reduce redundant network requests. It supports local configuration storage for persisting API credentials and preferred locations across separate command executions. The system includes capa
LearnPython is a programming tutorial consisting of a collection of practical code examples used to demonstrate Python language features and programming patterns. It serves as a comprehensive learning resource that implements core language concepts through functional code. The project provides specialized guides and samples covering several key domains. These include asynchronous network programming with event loops and coroutines, data visualization using numerical datasets for 2D and 3D plots, and web scraping for fetching content and automating login flows. It also features instructions on
node-fetch is a promise-based HTTP client library that provides a lightweight implementation of the Fetch API for the Node.js runtime. It serves as a network interface for performing asynchronous HTTP requests, handling server communication, and managing headers. The library utilizes a promise-based request lifecycle to wrap network calls, ensuring asynchronous behavior. It incorporates stream-based handling for both requests and responses to process large payloads efficiently without overloading system memory. Its capabilities cover a broad range of network communication tasks, including th