123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209 |
- c: Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al.
- SPDX-License-Identifier: curl
- Long: write-out
- Short: w
- Arg: <format>
- Help: Use output FORMAT after completion
- Category: verbose
- Example: -w '%{http_code}\\n' $URL
- Added: 6.5
- See-also: verbose head
- Multi: single
- ---
- Make curl display information on stdout after a completed transfer. The format
- is a string that may contain plain text mixed with any number of
- variables. The format can be specified as a literal "string", or you can have
- curl read the format from a file with "@filename" and to tell curl to read the
- format from stdin you write "@-".
- The variables present in the output format will be substituted by the value or
- text that curl thinks fit, as described below. All variables are specified as
- %{variable_name} and to output a normal % you just write them as %%. You can
- output a newline by using \\n, a carriage return with \\r and a tab space with
- \\t.
- The output will be written to standard output, but this can be switched to
- standard error by using %{stderr}.
- Output HTTP headers from the most recent request by using \fB%header{name}\fP
- where \fBname\fP is the case insensitive name of the header (without the
- trailing colon). The header contents are exactly as sent over the network,
- with leading and trailing whitespace trimmed. Added in curl 7.84.0.
- .B NOTE:
- The %-symbol is a special symbol in the win32-environment, where all
- occurrences of % must be doubled when using this option.
- The variables available are:
- .RS
- .TP 15
- .B content_type
- The Content-Type of the requested document, if there was any.
- .TP
- .B errormsg
- The error message. (Added in 7.75.0)
- .TP
- .B exitcode
- The numerical exitcode of the transfer. (Added in 7.75.0)
- .TP
- .B filename_effective
- The ultimate filename that curl writes out to. This is only meaningful if curl
- is told to write to a file with the --remote-name or --output
- option. It's most useful in combination with the --remote-header-name
- option. (Added in 7.26.0)
- .TP
- .B ftp_entry_path
- The initial path curl ended up in when logging on to the remote FTP
- server. (Added in 7.15.4)
- .TP
- .B header_json
- A JSON object with all HTTP response headers from the recent transfer. Values
- are provided as arrays, since in the case of multiple headers there can be
- multiple values.
- The header names provided in lowercase, listed in order of appearance over the
- wire. Except for duplicated headers. They are grouped on the first occurrence
- of that header, each value is presented in the JSON array.
- .TP
- .B http_code
- The numerical response code that was found in the last retrieved HTTP(S) or
- FTP(s) transfer.
- .TP
- .B http_connect
- The numerical code that was found in the last response (from a proxy) to a
- curl CONNECT request. (Added in 7.12.4)
- .TP
- .B http_version
- The http version that was effectively used. (Added in 7.50.0)
- .TP
- .B json
- A JSON object with all available keys.
- .TP
- .B local_ip
- The IP address of the local end of the most recently done connection - can be
- either IPv4 or IPv6. (Added in 7.29.0)
- .TP
- .B local_port
- The local port number of the most recently done connection. (Added in 7.29.0)
- .TP
- .B method
- The http method used in the most recent HTTP request. (Added in 7.72.0)
- .TP
- .B num_connects
- Number of new connects made in the recent transfer. (Added in 7.12.3)
- .TP
- .B num_headers
- The number of response headers in the most recent request (restarted at each
- redirect). Note that the status line IS NOT a header. (Added in 7.73.0)
- .TP
- .B num_redirects
- Number of redirects that were followed in the request. (Added in 7.12.3)
- .TP
- .B onerror
- The rest of the output is only shown if the transfer returned a non-zero error
- (Added in 7.75.0)
- .TP
- .B proxy_ssl_verify_result
- The result of the HTTPS proxy's SSL peer certificate verification that was
- requested. 0 means the verification was successful. (Added in 7.52.0)
- .TP
- .B redirect_url
- When an HTTP request was made without --location to follow redirects (or when
- --max-redirs is met), this variable will show the actual URL a redirect
- *would* have gone to. (Added in 7.18.2)
- .TP
- .B referer
- The Referer: header, if there was any. (Added in 7.76.0)
- .TP
- .B remote_ip
- The remote IP address of the most recently done connection - can be either
- IPv4 or IPv6. (Added in 7.29.0)
- .TP
- .B remote_port
- The remote port number of the most recently done connection. (Added in 7.29.0)
- .TP
- .B response_code
- The numerical response code that was found in the last transfer (formerly
- known as "http_code"). (Added in 7.18.2)
- .TP
- .B scheme
- The URL scheme (sometimes called protocol) that was effectively used. (Added in 7.52.0)
- .TP
- .B size_download
- The total amount of bytes that were downloaded. This is the size of the
- body/data that was transferred, excluding headers.
- .TP
- .B size_header
- The total amount of bytes of the downloaded headers.
- .TP
- .B size_request
- The total amount of bytes that were sent in the HTTP request.
- .TP
- .B size_upload
- The total amount of bytes that were uploaded. This is the size of the
- body/data that was transferred, excluding headers.
- .TP
- .B speed_download
- The average download speed that curl measured for the complete download. Bytes
- per second.
- .TP
- .B speed_upload
- The average upload speed that curl measured for the complete upload. Bytes per
- second.
- .TP
- .B ssl_verify_result
- The result of the SSL peer certificate verification that was requested. 0
- means the verification was successful. (Added in 7.19.0)
- .TP
- .B stderr
- From this point on, the --write-out output will be written to standard
- error. (Added in 7.63.0)
- .TP
- .B stdout
- From this point on, the --write-out output will be written to standard output.
- This is the default, but can be used to switch back after switching to stderr.
- (Added in 7.63.0)
- .TP
- .B time_appconnect
- The time, in seconds, it took from the start until the SSL/SSH/etc
- connect/handshake to the remote host was completed. (Added in 7.19.0)
- .TP
- .B time_connect
- The time, in seconds, it took from the start until the TCP connect to the
- remote host (or proxy) was completed.
- .TP
- .B time_namelookup
- The time, in seconds, it took from the start until the name resolving was
- completed.
- .TP
- .B time_pretransfer
- The time, in seconds, it took from the start until the file transfer was just
- about to begin. This includes all pre-transfer commands and negotiations that
- are specific to the particular protocol(s) involved.
- .TP
- .B time_redirect
- The time, in seconds, it took for all redirection steps including name lookup,
- connect, pretransfer and transfer before the final transaction was
- started. time_redirect shows the complete execution time for multiple
- redirections. (Added in 7.12.3)
- .TP
- .B time_starttransfer
- The time, in seconds, it took from the start until the first byte was just
- about to be transferred. This includes time_pretransfer and also the time the
- server needed to calculate the result.
- .TP
- .B time_total
- The total time, in seconds, that the full operation lasted.
- .TP
- .B url
- The URL that was fetched. (Added in 7.75.0)
- .TP
- .B urlnum
- The URL index number of this transfer, 0-indexed. De-globbed URLs share the
- same index number as the origin globbed URL. (Added in 7.75.0)
- .TP
- .B url_effective
- The URL that was fetched last. This is most meaningful if you have told curl
- to follow location: headers.
- .RE
- .IP
|