--- c: Copyright (C) Daniel Stenberg, , et al. SPDX-License-Identifier: curl Long: data-urlencode Arg: Help: HTTP POST data URL encoded Protocols: HTTP Added: 7.18.0 Category: http post upload Multi: append See-also: - data - data-raw Example: - --data-urlencode name=val $URL - --data-urlencode =encodethis $URL - --data-urlencode name@file $URL - --data-urlencode @fileonly $URL --- # `--data-urlencode` This posts data, similar to the other --data options with the exception that this performs URL-encoding. To be CGI-compliant, the \ part should begin with a *name* followed by a separator and a content specification. The \ part can be passed to curl using one of the following syntaxes: ## content This makes curl URL-encode the content and pass that on. 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 This makes curl URL-encode the content and pass that on. The preceding = symbol is not included in the data. ## name=content This makes curl URL-encode the content part and pass that on. Note that the name part is expected to be URL-encoded already. ## @filename This makes curl load data from the given file (including any newlines), URL-encode that data and pass it on in the POST. ## name@filename This makes curl load data from the given file (including any newlines), URL-encode that data and pass it on in the POST. The name part gets an equal sign appended, resulting in *name=urlencoded-file-content*. Note that the name is expected to be URL-encoded already.