What's Hurl?
Hurl is a command line tool that runs HTTP requests defined in a simple plain text format .
It can chain requests, capture values and evaluate queries on headers and body response. Hurl is very
versatile: it can be used for both fetching data and testing HTTP sessions.
Hurl makes it easy to work with HTML content, REST / SOAP / GraphQL APIs, or any other XML / JSON based APIs.
# Go home and capture token
GET https://example.org
HTTP 200
[Captures]
csrf_token: xpath "string(//meta[@name='_csrf_token']/@content)"
# Do login!
POST https://example.org/login
[XPath]: https://en.wikipedia.org/wiki/XPath
[JSONPath]: https://goessner.net/articles/JsonPath/
[Rust]: https://www.rust-lang.org
[curl]: https://curl.se
[License]: https://hurl.dev/docs/license.html
[Tutorial]: https://hurl.dev/docs/tutorial/your-first-hurl-file.html
[Documentation]: https://hurl.dev/docs/installation.html
[Blog]: https://hurl.dev/blog/
[GitHub]: https://github.com/Orange-OpenSource/hurl
[libcurl]: https://curl.se/libcurl/
[HTML]: /docs/standalone/hurl-8.0.0.html
[PDF]: /docs/standalone/hurl-8.0.0.pdf
[Markdown]: /docs/standalone/hurl-8.0.0.md
[predicates]: https://hurl.dev/docs/asserting-response.html#predicates
[JSONPath]: https://goessner.net/articles/JsonPath/
[Authorization]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization
[curl]: https://curl.se
[entry]: https://hurl.dev/docs/entry.html
[Captures]: https://hurl.dev/docs/capturing-response.html
[Functions]: https://hurl.dev/docs/templates.html#functions
[GitHub]: https://github.com/Orange-OpenSource/hurl
[install]: https://www.rust-lang.org/tools/install
[Rust]: https://www.rust-lang.org
[extra]: https://archlinux.org/packages/extra/x86_64/hurl/