Query
The query part of a URL is the data that is to the right of a question mark
(?
) but to the left of the fragment, which begins with a hash
(#
).
The query can be any string of characters as long as they are URL
encoded. It is a common practice to use a sequence of key/value pairs
separated by ampersands (&
). Like in
https://example.com/?name=daniel&tool=curl
.
To help users create such query sets, properly encoded, curl offers the
command line option --url-query [content]
. This option adds content, usually
a name + value pair, to the end of the query part of the provided URL.
When adding query parts, curl adds ampersand separators.
The syntax is identical to that used by --data-urlencode
with one extension:
the +
prefix. See below.
-
content
: URL encode the content and add that to the query. Just be careful so that the content does not contain any=
or@
symbols, as that makes the syntax match one of the other cases below. -
=content
: URL encode the content and add that to the query. The initial=
symbol is not included in the data. -
name=content
: URL encode the content part and add that to the query. Note that the name part is expected to be URL encoded already. -
@filename
: load data from the given file (including any newlines), URL encode that data and add that to the query. -
name@filename
: load data from the given file (including any newlines), URL encode that data and add that to the query. The name part gets an equal sign appended, resulting inname=urlencoded-file-content
. Note that the name is expected to be URL encoded already. -
+content
: Add the content to the query without doing any encoding.