hurl(1) Hurl Manual hurl(1) (NAME) hurl - HTTP (SYNOPSIS) hurl [OPTIONS] [FILES...] hurl --test [OPTIONS] [FILES...] (DESCRIPTION) Hurl HTTP . . Hurl HTTP : HTML REST / SOAP / GraphQL API XML / JSON. $ hurl session.hurl stdin . $ echo GET http://httpbin.org/get | hurl { "args": {}, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip", "Content-Length": "0", "Host": "httpbin.org", "User-Agent": "hurl/0.99.10", "X-Amzn-Trace-Id": "Root=1-5eedf4c7-520814d64e2f9249ea44e0" }, "origin": "1.2.3.4", "url": "http://httpbin.org/get" } Hurl . Hurl .hurl . stdout . -o, --output : $ hurl -o output input.hurl Hurl HTTP HTTP . --test : $ hurl --test *.hurl HURL (HURL FILE FORMAT) Hurl https://hurl.dev/docs/hurl-file.html . HTTP : GET http://example.org/endpoint1 GET http://example.org/endpoint2 (Capturing values) HTTP HTTP . CSRF : GET https://example.org HTTP 200 # Capture the CSRF token value from html body. [Captures] csrf_token: xpath "normalize- space(//meta[@name='_csrf_token']/@content)" # Do the login ! POST https://example.org/login?user=toto&password=1234 X-CSRF-TOKEN: {{csrf_token}} : https://hurl.dev/docs/capturing- response.html.SS " (Asserts)" HTTP Hurl . . HTTP . GET http://example.org HTTP 301 GET http://example.org HTTP 301 Location: http://www.example.org GET http://example.org HTTP 301 [Asserts] xpath "string(//title)" == "301 Moved" Hurl . https://hurl.dev/docs/asserting- response.html (CONFIGURATION) curl . Hurl cli-only ( `[Options]` Hurl ) : $ hurl --location foo.hurl `foo.hurl` . `[Options]` . Hurl: GET https://example.org HTTP 301 GET https://example.org [Options] location: true HTTP 200 . ( `HURL_INSECURE` --insecure). Hurl ( ) ( ) : o (: `HURL_INSECURE`) o (: `--insecure`) o Options (: `insecure: true` ) (ALL OPTIONS) HTTP (HTTP options) --aws-sigv4 `Authorization` AWS SigV4. -u, --user Access Key Id ( ) Secret Key () . ( AWS IAM Role) `X-Amz-Security-Token` . --cacert (peer verification) . CA PEM . Hurl . -E, --cert . : --key. --compressed br gzip deflate . : HURL_COMPRESSED --connect-timeout Hurl . . Hurl `--connect-timeout 20s` `--connect-timeout 35000ms` . . : -m, --max-time. : HURL_CONNECT_TIMEOUT --connect-to HOST1:PORT1 HOST2:PORT2 . . : --resolve. --digest Hurl HTTP Digest . -H, --header . . (newlines) (carriage returns) . : HURL_HEADER='name1:value1|name2:value2' ( | ) -0, --http1.0 Hurl HTTP HTTP 1.0 . : HURL_HTTP10 --http1.1 Hurl HTTP 1.1 . : HURL_HTTP11 --http2 Hurl HTTP 2 . HTTPS Hurl TLS HTTP/2 . Hurl . HTTP Hurl Upgrade: HTTP/2 . : HURL_HTTP2 --http3 Hurl HTTP 3 URL HTTP/3 HTTP . HTTP/3 HTTPS HTTP . : HURL_HTTP3 -k, --insecure Hurl SSL <<>> . : HURL_INSECURE -4, --ipv4 Hurl IPv4 IPv6 . : HURL_IPV4 -6, --ipv6 Hurl IPv6 IPv4 . : HURL_IPV6 --key . --limit-rate Hurl . . (bytes/second) . : HURL_LIMIT_RATE -L, --location (redirect). --max- redirs . : HURL_LOCATION --location-trusted -L, --location + . ( HTTP Basic ) . : HURL_LOCATION_TRUSTED.IP "--max-filesize " . . : HURL_MAX_FILESIZE . --max-redirs (redirection). . -1 . : HURL_MAX_REDIRS -m, --max-time / . (timeout) . . Hurl `--max-time 20s` `--max-time 35000ms` . . : --connect-timeout. : HURL_MAX_TIME --negotiate Hurl Negotiate (SPNEGO) . --no-cookie-store / . Hurl . : HURL_NO_COOKIE_STORE . --no-proxy . : no_proxy --ntlm Hurl NTLM . --path-as-is Hurl /../ /./ URL . Hurl . --pinnedpubkey TLS SSL . Hurl . -x, --proxy <[PROTOCOL://]HOST[:PORT]> . : http_proxy https_proxy all_proxy --resolve (port). () Hurl (resolve) . /etc/hosts . --ssl-no-revoke (Windows) Hurl . : SSL . . --unix-socket (HTTP) (Unix domain socket) . -u, --user (Basic Authentication) . : HURL_USER -A, --user-agent User-Agent HTTP. : HURL_USER_AGENT ..SS " (Output options)" --color . Hurl . (pipes) . : HURL_COLOR . --curl curl. . --error-format ( short long). long . : HURL_ERROR_FORMAT . -i, --include (headers) HTTP . . --json Hurl JSON. HAR . . --no-color . : HURL_NO_COLOR NO_COLOR . --no-output . Hurl . : HURL_NO_OUTPUT . --no-pretty ( JSON). . : HURL_NO_PRETTY . -o, --output FILE stdout. [Options] '-' stdout . --pretty ( JSON). JSON --no-color . : HURL_PRETTY . --progress-bar (test mode). TTY . TTY . . -v, --verbose (verbose) . . '>' Hurl . '<' Hurl . '*' Hurl . HTTP -i, --include . : HURL_VERBOSE --verbosity (brief verbose debug). HTTP -i, --include . -v, --verbose `--verbosity verbose` . --very-verbose `--verbosity debug` . : HURL_VERBOSITY --very-verbose . --verbose HTTP . '**' libcurl . : HURL_VERY_VERBOSE.SS " (Run options)" --continue-on-error Hurl (assert). Hurl HTTP . Hurl . . Hurl . : HURL_CONTINUE_ON_ERROR (cli-only) . --delay ( sleep). --retry . --retry-interval . . Hurl `--delay 2s` `--delay 500ms` . : ms s m h. (space) . : HURL_DELAY --from-entry Hurl ENTRY_NUMBER ( ). (cli-only) . --jobs . ( ) (CPUs) . . : --parallel. : HURL_JOBS (cli-only) . --no-assert (asserts) Hurl. : HURL_NO_ASSERT (cli-only) . --parallel . Hurl (worker thread) . . --test . : --jobs. (cli-only) . --repeat NUM -1 . a.hurl b.hurl c.hurl a.hurl b.hurl c.hurl a.hurl b.hurl c.hurl . --retry 0 -1 . ( ) . : HURL_RETRY --retry-interval . 1000 . . Hurl `--retry-interval 2s` `--retry-interval 500ms` . (space) . : HURL_RETRY_INTERVAL --secret (secret) . . : HURL_SECRET_name (cli-only) . --secrets-file . --secret name=value . . (cli-only) . --test (test): HTTP Hurl . . `--jobs 1` . : --jobs. : HURL_TEST (cli-only) . --to-entry Hurl ENTRY_NUMBER ( ). . (debugging) . (cli-only) . --variable (/) (templates) Hurl. : HURL_VARIABLE_name --variables-file (properties file) . --variable name=value . . (cli-only) ..SS " (Report options)" --report-html HTML DIR. HTML . (cli-only) . --report-json JSON DIR. JSON . (cli-only) . --report-junit JUnit. FILE . (cli-only) . --report-tap TAP. FILE . (cli-only) . (Other options) -b, --cookie FILE ( Netscape). -c, --cookie-jar Hurl . (cli-only) . -c, --cookie-jar FILE . Netscape . -b, --cookie Hurl . (cli-only) . --file-root Hurl. (multipart form data) . Hurl . (cli-only) . --glob glob . glob . glob * ? [] . glob Hurl . (cli-only) . -n, --netrc .netrc . --netrc-file --netrc-optional . --netrc-file --netrc netrc . --netrc-optional . --netrc-optional --netrc .netrc . --netrc-file . -h, --help . . -V, --version ..SH " (EXIT CODES)" 0 . 1 . 2 . 3 ( ). 4 (assert). (WWW) https://hurl.dev (SEE ALSO) curl(1) hurlfmt(1) hurl 8.0.1 28 Apr 2026 hurl(1)