Options that exist in curl have exactly the same semantics.
Options specified on the command line are defined for every Hurl
file's entry, except if they are tagged as cli-only (can not be defined in
the Hurl request [Options] entry)
will follow redirection for each entry in `foo.hurl`. You can also
define an option only for a particular entry with an `[Options]` section.
For instance, this Hurl file:
will follow a redirection only for the second entry.
- --aws-sigv4
<PROVIDER1[:PROVIDER2[:REGION[:SERVICE]]]>
-
Generate an `Authorization` header with an AWS SigV4
signature.
Use -u, --user to specify Access Key Id (username) and
Secret Key (password).
To use temporary session credentials (e.g. for an AWS IAM
Role), add the `X-Amz-Security-Token` header containing the session
token.
- --cacert <FILE>
-
Specifies the certificate file for peer verification. The file
may contain multiple CA certificates and must be in PEM format. Normally
Hurl is built to use a default file for this, so this option is
typically used to alter that default file.
- -E, --cert
<CERTIFICATE[:PASSWORD]>
-
Client certificate file and password.
See also --key.
- --color
-
Colorize debug output (the HTTP response output is not
colorized).
This is a cli-only option.
- --compressed
-
Request a compressed response using one of the algorithms br,
gzip, deflate and automatically decompress the content.
- --connect-timeout
<SECONDS>
-
Maximum time in seconds that you allow Hurl's connection to
take.
You can specify time units in the connect timeout expression.
Set Hurl to use a connect timeout of 20 seconds with `--connect-timeout
20s` or set it to 35,000 milliseconds with `--connect-timeout 35000ms`.
No spaces allowed.
See also -m, --max-time.
- --connect-to
<HOST1:PORT1:HOST2:PORT2>
-
For a request to the given HOST1:PORT1 pair, connect to
HOST2:PORT2 instead. This option can be used several times in a command
line.
See also --resolve.
- --continue-on-error
-
Continue executing requests to the end of the Hurl file even
when an assert error occurs. By default, Hurl exits after an assert
error in the HTTP response.
Note that this option does not affect the behavior with
multiple input Hurl files.
All the input files are executed independently. The result of
one file does not affect the execution of the other Hurl files.
This is a cli-only option.
- -b, --cookie <FILE>
-
Read cookies from FILE (using the Netscape cookie file
format).
Combined with -c, --cookie-jar, you can simulate a
cookie storage between successive Hurl runs.
This is a cli-only option.
- -c, --cookie-jar <FILE>
-
Write cookies to FILE after running the session. The file will
be written using the Netscape cookie file format.
Combined with -b, --cookie, you can simulate a cookie
storage between successive Hurl runs.
This is a cli-only option.
- --curl <FILE>
-
Export each request to a list of curl commands.
This is a cli-only option.
- --delay <MILLISECONDS>
-
Sets delay before each request (aka sleep). The delay is not
applied to requests that have been retried because of --retry.
See --retry-interval to space retried requests.
You can specify time units in the delay expression. Set Hurl
to use a delay of 2 seconds with `--delay 2s` or set it to 500
milliseconds with `--delay 500ms`. Supported time units: ms, s, m, h. No
spaces allowed.
- --error-format
<FORMAT>
-
Control the format of error message (short by default or
long)
This is a cli-only option.
- --file-root
<DIR>
-
Set root directory to import files in Hurl. This is used for
files in multipart form data, request body and response output. When it
is not explicitly defined, files are relative to the Hurl file's
directory.
This is a cli-only option.
- --from-entry
<ENTRY_NUMBER>
-
Execute Hurl file from ENTRY_NUMBER (starting at 1).
This is a cli-only option.
- --glob <GLOB>
-
Specify input files that match the given glob pattern.
Multiple glob flags may be used. This flag supports common
Unix glob patterns like *, ? and []. However, to avoid your shell
accidentally expanding glob patterns before Hurl handles them, you must
use single quotes or double quotes around each pattern.
This is a cli-only option.
- -H, --header <HEADER>
-
Add an extra header to include in information sent. Can be
used several times in a command
Do not add newlines or carriage returns
- -0, --http1.0
-
Tells Hurl to use HTTP version 1.0 instead of using its
internally preferred HTTP version.
- --http1.1
-
Tells Hurl to use HTTP version 1.1.
- --http2
-
Tells Hurl to use HTTP version 2. For HTTPS, this means Hurl
negotiates HTTP/2 in the TLS handshake. Hurl does this by default. For
HTTP, this means Hurl attempts to upgrade the request to HTTP/2 using
the Upgrade: request header.
- --http3
-
Tells Hurl to try HTTP/3 to the host in the URL, but fallback
to earlier HTTP versions if the HTTP/3 connection establishment fails.
HTTP/3 is only available for HTTPS and not for HTTP URLs.
- --ignore-asserts
-
Ignore all asserts defined in the Hurl file.
This is a cli-only option.
- -i, --include
-
Include the HTTP headers in the output
This is a cli-only option.
- -k, --insecure
-
This option explicitly allows Hurl to perform
"insecure" SSL connections and transfers.
- -4, --ipv4
-
This option tells Hurl to use IPv4 addresses only when
resolving host names, and not for example try IPv6.
- -6, --ipv6
-
This option tells Hurl to use IPv6 addresses only when
resolving host names, and not for example try IPv4.
- --jobs <NUM>
-
Maximum number of parallel jobs in parallel mode. Default
value corresponds (in most cases) to the current amount of CPUs.
See also --parallel.
This is a cli-only option.
- --json
-
Output each Hurl file result to JSON. The format is very
closed to HAR format.
This is a cli-only option.
- --key <KEY>
-
Private key file name.
- --limit-rate
<SPEED>
-
Specify the maximum transfer rate you want Hurl to use, for
both downloads and uploads. This feature is useful if you have a limited
pipe and you would like your transfer not to use your entire bandwidth.
To make it slower than it otherwise would be. The given speed is
measured in bytes/second.
- -L, --location
-
Follow redirect. To limit the amount of redirects to follow
use the --max-redirs option
- --location-trusted
-
Like -L, --location, but allows sending the name +
password to all hosts that the site may redirect to. This may or may not
introduce a security breach if the site redirects you to a site to which
you send your authentication info (which is plaintext in the case of
HTTP Basic authentication).
- --max-filesize
<BYTES>
-
Specify the maximum size in bytes of a file to download. If
the file requested is larger than this value, the transfer does not
start.
This is a cli-only option.
- --max-redirs
<NUM>
-
Set maximum number of redirection-followings allowed
By default, the limit is set to 50 redirections. Set this
option to -1 to make it unlimited.
- -m, --max-time <SECONDS>
-
Maximum time in seconds that you allow a request/response to
take. This is the standard timeout.
You can specify time units in the maximum time expression. Set
Hurl to use a maximum time of 20 seconds with `--max-time 20s` or set it
to 35,000 milliseconds with `--max-time 35000ms`. No spaces allowed.
See also --connect-timeout.
- --negotiate
-
Tell Hurl to use Negotiate (SPNEGO) authentication.
- -n, --netrc
-
Scan the .netrc file in the user's home directory for the
username and password.
See also --netrc-file and --netrc-optional.
- --netrc-file
<FILE>
-
Like --netrc, but provide the path to the netrc
file.
See also --netrc-optional.
- --netrc-optional
-
Similar to --netrc, but make the .netrc usage
optional.
See also --netrc-file.
- --no-color
-
Do not colorize output.
This is a cli-only option.
- --no-output
-
Suppress output. By default, Hurl outputs the body of the last
response.
This is a cli-only option.
- --no-pretty
-
Do not prettify response output for supported content type
(JSON only for the moment). By default, output is prettified if standard
output is a terminal.
This is a cli-only option.
- --noproxy
<HOST(S)>
-
Comma-separated list of hosts which do not use a proxy.
Override value from Environment variable no_proxy.
- --ntlm
-
Tell Hurl to use NTLM authentication
- -o, --output <FILE>
-
Write output to FILE instead of stdout. Use '-' for stdout in
[Options] sections.
- --parallel
-
Run files in parallel.
Each Hurl file is executed in its own worker thread, without
sharing anything with the other workers. The default run mode is
sequential. Parallel execution is by default in --test mode.
See also --jobs.
This is a cli-only option.
- --path-as-is
-
Tell Hurl to not handle sequences of /../ or /./ in the given
URL path. Normally Hurl will squash or merge them according to standards
but with this option set you tell it not to do that.
- --pinnedpubkey
<HASHES>
-
When negotiating a TLS or SSL connection, the server sends a
certificate indicating its identity. A public key is extracted from this
certificate and if it does not exactly match the public key provided to
this option, Hurl aborts the connection before sending or receiving any
data.
- --pretty
-
Prettify response output for supported content type (JSON only
for the moment). By default, JSON response is prettified if standard
output is a terminal, and colorized, see--no-color to format
without color.
This is a cli-only option.
- --progress-bar
-
Display a progress bar in test mode. The progress bar is
displayed only in interactive TTYs. This option forces the progress bar
to be displayed even in non-interactive TTYs.
This is a cli-only option.
- -x, --proxy
<[PROTOCOL://]HOST[:PORT]>
-
Use the specified proxy.
- --repeat <NUM>
-
Repeat the input files sequence NUM times, -1 for infinite
loop. Given a.hurl, b.hurl, c.hurl as input, repeat two times will run
a.hurl, b.hurl, c.hurl, a.hurl, b.hurl, c.hurl.
- --report-html
<DIR>
-
Generate HTML report in DIR.
If the HTML report already exists, it will be updated with the
new test results.
This is a cli-only option.
- --report-json
<DIR>
-
Generate JSON report in DIR.
If the JSON report already exists, it will be updated with the
new test results.
This is a cli-only option.
- --report-junit
<FILE>
-
Generate JUnit File.
If the FILE report already exists, it will be updated with the
new test results.
This is a cli-only option.
- --report-tap
<FILE>
-
Generate TAP report.
If the FILE report already exists, it will be updated with the
new test results.
This is a cli-only option.
- --resolve
<HOST:PORT:ADDR>
-
Provide a custom address for a specific host and port pair.
Using this, you can make the Hurl requests(s) use a specified address
and prevent the otherwise normally resolved address to be used. Consider
it a sort of /etc/hosts alternative provided on the command line.
- --retry <NUM>
-
Maximum number of retries, 0 for no retries, -1 for unlimited
retries. Retry happens if any error occurs (asserts, captures, runtimes
etc...).
- --retry-interval
<MILLISECONDS>
-
Duration in milliseconds between each retry. Default is 1000
ms.
You can specify time units in the retry interval expression.
Set Hurl to use a retry interval of 2 seconds with `--retry-interval 2s`
or set it to 500 milliseconds with `--retry-interval 500ms`. No spaces
allowed.
- --secret
<NAME=VALUE>
-
Define secret value to be redacted from logs and report. When
defined, secrets can be used as variable everywhere variables are
used.
This is a cli-only option.
- --secrets-file
<FILE>
-
Define a secrets file in which you define your secrets
Each secret is defined as name=value exactly as with
--secret option.
Note that defining a secret twice produces an error.
This is a cli-only option.
- --ssl-no-revoke
-
(Windows) This option tells Hurl to disable certificate
revocation checks. WARNING: this option loosens the SSL security, and by
using this flag you ask for exactly that.
This is a cli-only option.
- --test
-
Activate test mode: with this, the HTTP response is not
outputted anymore, progress is reported for each Hurl file tested, and a
text summary is displayed when all files have been run.
In test mode, files are executed in parallel. To run test in a
sequential way use `--job 1`.
See also --jobs.
This is a cli-only option.
- --to-entry
<ENTRY_NUMBER>
-
Execute Hurl file to ENTRY_NUMBER (starting at 1). Ignore the
remaining of the file. It is useful for debugging a session.
This is a cli-only option.
- --unix-socket
<PATH>
-
(HTTP) Connect through this Unix domain socket, instead of
using the network.
- -u, --user <USER:PASSWORD>
-
Add basic Authentication header to each request.
- -A, --user-agent <NAME>
-
Specify the User-Agent string to send to the HTTP server.
This is a cli-only option.
- --variable
<NAME=VALUE>
-
Define variable (name/value) to be used in Hurl templates.
- --variables-file
<FILE>
-
Set properties file in which your define your variables.
Each variable is defined as name=value exactly as with
--variable option.
Note that defining a variable twice produces an error.
This is a cli-only option.
- -v, --verbose
-
Turn on verbose output on standard error stream. Useful for
debugging.
A line starting with '>' means data sent by Hurl. A line
staring with '<' means data received by Hurl. A line starting with
'*' means additional info provided by Hurl.
If you only want HTTP headers in the output, -i,
--include might be the option you're looking for.
- --very-verbose
-
Turn on more verbose output on standard error stream.
In contrast to --verbose option, this option outputs
the full HTTP body request and response on standard error. In addition,
lines starting with '**' are libcurl debug logs.
- -h, --help
-
Usage help. This lists all current command line options with a
short description.
- -V, --version
-
Prints version information