HTTP

Hurl – run and test HTTP requests with plain text

Hurl is a command-line tool for executing HTTP requests described in plain-text files. It is designed for both retrieving data and testing web services, allowing multiple requests and expected responses to be described in a readable format.

Requests can be chained together to represent complete HTTP sessions. Values extracted from earlier responses can be reused in subsequent requests, making Hurl suitable for authentication workflows, API integration tests and other operations that depend on multiple exchanges.

The software includes assertions for checking status codes, response headers and body content. This enables developers to describe expected behaviour alongside the corresponding requests, making test cases easy to review and maintain.

Hurl uses libcurl for HTTP transfers and supports common web technologies including JSON, XML, HTML, REST APIs, SOAP and GraphQL. It can run locally or form part of an automated testing workflow.

This is free and open source software.

Key Features

  • Defines HTTP requests and expected responses in plain-text files.
  • Supports chained requests within a single test scenario.
  • Captures values from responses for reuse in later requests.
  • Provides assertions for HTTP status codes and response headers.
  • Supports JSONPath queries for JSON response validation.
  • Supports XPath queries for XML and HTML responses.
  • Allows regular expressions in response assertions.
  • Handles JSON, XML, HTML, REST, SOAP and GraphQL services.
  • Supports cookies, sessions and authentication workflows.
  • Offers configurable request variables and dynamic values.
  • Can execute multiple test files in a single invocation.
  • Provides detailed error reporting for failed assertions.
  • Supports automated test reports and structured output.
  • Uses libcurl for network transfers and TLS handling.
  • Can retrieve response data without requiring test assertions.
  • Cross-platform support – runs on Linux, macOS, and Windows.

Website: github.com/Orange-OpenSource/hurl
Support:
Developer: Jean-Christophe Amiel, Fabrice Reix, Filipe Pinto and contributors
License: Apache License 2.0

hurl

hurl is written in Rust. Learn Rust with our recommended free books and free tutorials


Related Software

Alternatives to curl
Wget2Successor of Wget
WgetMakes retrieving large files or mirroring entire web or FTP sites easy
aria2Multi-protocol and multi-source command-line download utility
HTTPieHTTP client with an intuitive user interface
curlieThe power of curl, the ease of use of httpie
xhFast and friendly tool for sending HTTP requests
hurlRun and test HTTP requests with plain text
TerminusDMUser-friendly terminal interface for managing your downloads efficiently
getpartyHTTP download manager with multi-parts
RestishCLI for interacting with REST-ish HTTP APIs
PostingTerminal-based HTTP client for developing and testing APIs
SlumberTerminal-based HTTP client
Alternatives to Wget
Wget2Successor of Wget
curlTool and library for transferring data with URLs
aria2Multi-protocol and multi-source command-line download utility
HTTPieHTTP client with an intuitive user interface
curlieThe power of curl, the ease of use of httpie
xhFast and friendly tool for sending HTTP requests
hurlRun and test HTTP requests with plain text
TerminusDMUser-friendly terminal interface for managing your downloads efficiently
getpartyHTTP download manager with multi-parts
SurgeDownload manager built in Go
aria2tuiTUI client for the aria2c download utility
gosh-dl-cliModern command-line download manager built on top of the gosh-dl engine
AxelLightweight CLI download accelerator
Command line HTTP clients
HTTPieCommand line interface, cURL-like tool for humans
aria2Multi-protocol and multi-source command-line download utility
Wget2Successor of Wget
PostingTerminal-based HTTP client for developing and testing APIs
hurlRun and test HTTP requests with plain text
curlCommand line tool for transferring data with URL syntax. Transfer library too
axelCommand-line download accelerator
xhFast and friendly tool for sending HTTP requests
WgetRetrieves content from web servers
RestishCLI for interacting with REST-ish HTTP APIs
curlieThe power of curl, the ease of use of httpie
SlumberTerminal-based HTTP client
TerminusDMUser-friendly terminal interface for managing your downloads efficiently.
getpartyHTTP download manager with multi-parts

Read our verdict in the software roundup.


Best Free and Open Source Software LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.

We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more.

Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion.

Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted