summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2021-08-31 16:37:14 +0200
committerDaniel Stenberg <daniel@haxx.se>2021-09-01 14:02:43 +0200
commit68784d73c3f8bc0d14502b4e1e930b1741c41699 (patch)
treeb1d7a129e2d43da0bfac6bba56a0b53912a9b026
parentc905459e878690942e9a0a8cd7f9ad57b6898efb (diff)
downloadcurl-68784d73c3f8bc0d14502b4e1e930b1741c41699.tar.gz
curl.1: provide examples for each option
The file format for each option now features a "Example:" header that can provide one or more examples that get rendered appropriately in the output. All options MUST have at least one example or gen.pl complains at build-time. This fix also does a few other minor format and consistency cleanups. Closes #7654
-rw-r--r--docs/cmdline-opts/MANPAGE.md1
-rw-r--r--docs/cmdline-opts/abstract-unix-socket.d1
-rw-r--r--docs/cmdline-opts/alt-svc.d3
-rw-r--r--docs/cmdline-opts/anyauth.d1
-rw-r--r--docs/cmdline-opts/append.d1
-rw-r--r--docs/cmdline-opts/aws-sigv4.d1
-rw-r--r--docs/cmdline-opts/basic.d1
-rw-r--r--docs/cmdline-opts/cacert.d9
-rw-r--r--docs/cmdline-opts/capath.d1
-rw-r--r--docs/cmdline-opts/cert-status.d1
-rw-r--r--docs/cmdline-opts/cert-type.d1
-rw-r--r--docs/cmdline-opts/cert.d1
-rw-r--r--docs/cmdline-opts/ciphers.d1
-rw-r--r--docs/cmdline-opts/compressed-ssh.d1
-rw-r--r--docs/cmdline-opts/compressed.d1
-rw-r--r--docs/cmdline-opts/config.d1
-rw-r--r--docs/cmdline-opts/connect-timeout.d4
-rw-r--r--docs/cmdline-opts/connect-to.d1
-rw-r--r--docs/cmdline-opts/continue-at.d2
-rw-r--r--docs/cmdline-opts/cookie-jar.d2
-rw-r--r--docs/cmdline-opts/cookie.d2
-rw-r--r--docs/cmdline-opts/create-dirs.d1
-rw-r--r--docs/cmdline-opts/create-file-mode.d1
-rw-r--r--docs/cmdline-opts/crlf.d1
-rw-r--r--docs/cmdline-opts/crlfile.d3
-rw-r--r--docs/cmdline-opts/curves.d1
-rw-r--r--docs/cmdline-opts/data-ascii.d1
-rw-r--r--docs/cmdline-opts/data-binary.d1
-rw-r--r--docs/cmdline-opts/data-raw.d2
-rw-r--r--docs/cmdline-opts/data-urlencode.d4
-rw-r--r--docs/cmdline-opts/data.d3
-rw-r--r--docs/cmdline-opts/delegation.d1
-rw-r--r--docs/cmdline-opts/digest.d1
-rw-r--r--docs/cmdline-opts/disable-eprt.d1
-rw-r--r--docs/cmdline-opts/disable-epsv.d1
-rw-r--r--docs/cmdline-opts/disable.d1
-rw-r--r--docs/cmdline-opts/disallow-username-in-url.d4
-rw-r--r--docs/cmdline-opts/dns-interface.d1
-rw-r--r--docs/cmdline-opts/dns-ipv4-addr.d1
-rw-r--r--docs/cmdline-opts/dns-ipv6-addr.d1
-rw-r--r--docs/cmdline-opts/dns-servers.d1
-rw-r--r--docs/cmdline-opts/doh-cert-status.d1
-rw-r--r--docs/cmdline-opts/doh-insecure.d1
-rw-r--r--docs/cmdline-opts/doh-url.d1
-rw-r--r--docs/cmdline-opts/dump-header.d1
-rw-r--r--docs/cmdline-opts/egd-file.d1
-rw-r--r--docs/cmdline-opts/engine.d1
-rw-r--r--docs/cmdline-opts/etag-compare.d1
-rw-r--r--docs/cmdline-opts/etag-save.d1
-rw-r--r--docs/cmdline-opts/expect100-timeout.d1
-rw-r--r--docs/cmdline-opts/fail-early.d1
-rw-r--r--docs/cmdline-opts/fail-with-body.d1
-rw-r--r--docs/cmdline-opts/fail.d1
-rw-r--r--docs/cmdline-opts/false-start.d1
-rw-r--r--docs/cmdline-opts/form-string.d1
-rw-r--r--docs/cmdline-opts/form.d1
-rw-r--r--docs/cmdline-opts/ftp-account.d1
-rw-r--r--docs/cmdline-opts/ftp-alternative-to-user.d1
-rw-r--r--docs/cmdline-opts/ftp-create-dirs.d1
-rw-r--r--docs/cmdline-opts/ftp-method.d3
-rw-r--r--docs/cmdline-opts/ftp-pasv.d1
-rw-r--r--docs/cmdline-opts/ftp-port.d3
-rw-r--r--docs/cmdline-opts/ftp-pret.d1
-rw-r--r--docs/cmdline-opts/ftp-skip-pasv-ip.d1
-rw-r--r--docs/cmdline-opts/ftp-ssl-ccc-mode.d1
-rw-r--r--docs/cmdline-opts/ftp-ssl-ccc.d1
-rw-r--r--docs/cmdline-opts/ftp-ssl-control.d1
-rwxr-xr-xdocs/cmdline-opts/gen.pl20
-rw-r--r--docs/cmdline-opts/get.d1
-rw-r--r--docs/cmdline-opts/globoff.d1
-rw-r--r--docs/cmdline-opts/happy-eyeballs-timeout-ms.d1
-rw-r--r--docs/cmdline-opts/haproxy-protocol.d7
-rw-r--r--docs/cmdline-opts/head.d1
-rw-r--r--docs/cmdline-opts/header.d7
-rw-r--r--docs/cmdline-opts/help.d1
-rw-r--r--docs/cmdline-opts/hostpubmd5.d1
-rw-r--r--docs/cmdline-opts/hsts.d3
-rw-r--r--docs/cmdline-opts/http0.9.d1
-rw-r--r--docs/cmdline-opts/http1.0.d1
-rw-r--r--docs/cmdline-opts/http1.1.d1
-rw-r--r--docs/cmdline-opts/http2-prior-knowledge.d1
-rw-r--r--docs/cmdline-opts/http2.d7
-rw-r--r--docs/cmdline-opts/http3.d3
-rw-r--r--docs/cmdline-opts/ignore-content-length.d1
-rw-r--r--docs/cmdline-opts/include.d1
-rw-r--r--docs/cmdline-opts/insecure.d3
-rw-r--r--docs/cmdline-opts/interface.d1
-rw-r--r--docs/cmdline-opts/ipv4.d1
-rw-r--r--docs/cmdline-opts/ipv6.d1
-rw-r--r--docs/cmdline-opts/junk-session-cookies.d1
-rw-r--r--docs/cmdline-opts/keepalive-time.d1
-rw-r--r--docs/cmdline-opts/key-type.d1
-rw-r--r--docs/cmdline-opts/key.d1
-rw-r--r--docs/cmdline-opts/krb.d1
-rw-r--r--docs/cmdline-opts/libcurl.d1
-rw-r--r--docs/cmdline-opts/limit-rate.d3
-rw-r--r--docs/cmdline-opts/list-only.d1
-rw-r--r--docs/cmdline-opts/local-port.d1
-rw-r--r--docs/cmdline-opts/location-trusted.d1
-rw-r--r--docs/cmdline-opts/location.d1
-rw-r--r--docs/cmdline-opts/login-options.d1
-rw-r--r--docs/cmdline-opts/mail-auth.d1
-rw-r--r--docs/cmdline-opts/mail-from.d1
-rw-r--r--docs/cmdline-opts/mail-rcpt-allowfails.d1
-rw-r--r--docs/cmdline-opts/mail-rcpt.d1
-rw-r--r--docs/cmdline-opts/manual.d1
-rw-r--r--docs/cmdline-opts/max-filesize.d1
-rw-r--r--docs/cmdline-opts/max-redirs.d1
-rw-r--r--docs/cmdline-opts/max-time.d6
-rw-r--r--docs/cmdline-opts/metalink.d1
-rw-r--r--docs/cmdline-opts/negotiate.d1
-rw-r--r--docs/cmdline-opts/netrc-file.d1
-rw-r--r--docs/cmdline-opts/netrc-optional.d1
-rw-r--r--docs/cmdline-opts/netrc.d1
-rw-r--r--docs/cmdline-opts/next.d4
-rw-r--r--docs/cmdline-opts/no-alpn.d1
-rw-r--r--docs/cmdline-opts/no-buffer.d1
-rw-r--r--docs/cmdline-opts/no-keepalive.d1
-rw-r--r--docs/cmdline-opts/no-npn.d1
-rw-r--r--docs/cmdline-opts/no-progress-meter.d1
-rw-r--r--docs/cmdline-opts/no-sessionid.d1
-rw-r--r--docs/cmdline-opts/noproxy.d1
-rw-r--r--docs/cmdline-opts/ntlm-wb.d1
-rw-r--r--docs/cmdline-opts/ntlm.d1
-rw-r--r--docs/cmdline-opts/oauth2-bearer.d1
-rw-r--r--docs/cmdline-opts/output-dir.d1
-rw-r--r--docs/cmdline-opts/output.d4
-rw-r--r--docs/cmdline-opts/parallel-immediate.d1
-rw-r--r--docs/cmdline-opts/parallel-max.d1
-rw-r--r--docs/cmdline-opts/parallel.d1
-rw-r--r--docs/cmdline-opts/pass.d1
-rw-r--r--docs/cmdline-opts/path-as-is.d1
-rw-r--r--docs/cmdline-opts/pinnedpubkey.d2
-rw-r--r--docs/cmdline-opts/post301.d1
-rw-r--r--docs/cmdline-opts/post302.d1
-rw-r--r--docs/cmdline-opts/post303.d1
-rw-r--r--docs/cmdline-opts/preproxy.d1
-rw-r--r--docs/cmdline-opts/progress-bar.d1
-rw-r--r--docs/cmdline-opts/proto-default.d9
-rw-r--r--docs/cmdline-opts/proto-redir.d1
-rw-r--r--docs/cmdline-opts/proto.d1
-rw-r--r--docs/cmdline-opts/proxy-anyauth.d1
-rw-r--r--docs/cmdline-opts/proxy-basic.d1
-rw-r--r--docs/cmdline-opts/proxy-cacert.d1
-rw-r--r--docs/cmdline-opts/proxy-capath.d1
-rw-r--r--docs/cmdline-opts/proxy-cert-type.d1
-rw-r--r--docs/cmdline-opts/proxy-cert.d1
-rw-r--r--docs/cmdline-opts/proxy-ciphers.d1
-rw-r--r--docs/cmdline-opts/proxy-crlfile.d1
-rw-r--r--docs/cmdline-opts/proxy-digest.d1
-rw-r--r--docs/cmdline-opts/proxy-header.d3
-rw-r--r--docs/cmdline-opts/proxy-insecure.d1
-rw-r--r--docs/cmdline-opts/proxy-key-type.d1
-rw-r--r--docs/cmdline-opts/proxy-key.d1
-rw-r--r--docs/cmdline-opts/proxy-negotiate.d1
-rw-r--r--docs/cmdline-opts/proxy-ntlm.d1
-rw-r--r--docs/cmdline-opts/proxy-pass.d1
-rw-r--r--docs/cmdline-opts/proxy-pinnedpubkey.d2
-rw-r--r--docs/cmdline-opts/proxy-service-name.d1
-rw-r--r--docs/cmdline-opts/proxy-ssl-allow-beast.d1
-rw-r--r--docs/cmdline-opts/proxy-ssl-auto-client-cert.d1
-rw-r--r--docs/cmdline-opts/proxy-tls13-ciphers.d1
-rw-r--r--docs/cmdline-opts/proxy-tlsauthtype.d1
-rw-r--r--docs/cmdline-opts/proxy-tlspassword.d1
-rw-r--r--docs/cmdline-opts/proxy-tlsuser.d1
-rw-r--r--docs/cmdline-opts/proxy-tlsv1.d1
-rw-r--r--docs/cmdline-opts/proxy-user.d1
-rw-r--r--docs/cmdline-opts/proxy.d1
-rw-r--r--docs/cmdline-opts/proxy1.0.d1
-rw-r--r--docs/cmdline-opts/proxytunnel.d1
-rw-r--r--docs/cmdline-opts/pubkey.d1
-rw-r--r--docs/cmdline-opts/quote.d1
-rw-r--r--docs/cmdline-opts/random-file.d1
-rw-r--r--docs/cmdline-opts/range.d1
-rw-r--r--docs/cmdline-opts/raw.d1
-rw-r--r--docs/cmdline-opts/referer.d3
-rw-r--r--docs/cmdline-opts/remote-header-name.d1
-rw-r--r--docs/cmdline-opts/remote-name-all.d1
-rw-r--r--docs/cmdline-opts/remote-name.d1
-rw-r--r--docs/cmdline-opts/remote-time.d1
-rw-r--r--docs/cmdline-opts/request-target.d1
-rw-r--r--docs/cmdline-opts/request.d2
-rw-r--r--docs/cmdline-opts/resolve.d1
-rw-r--r--docs/cmdline-opts/retry-all-errors.d16
-rw-r--r--docs/cmdline-opts/retry-connrefused.d1
-rw-r--r--docs/cmdline-opts/retry-delay.d1
-rw-r--r--docs/cmdline-opts/retry-max-time.d1
-rw-r--r--docs/cmdline-opts/retry.d1
-rw-r--r--docs/cmdline-opts/sasl-authzid.d1
-rw-r--r--docs/cmdline-opts/sasl-ir.d1
-rw-r--r--docs/cmdline-opts/service-name.d1
-rw-r--r--docs/cmdline-opts/show-error.d1
-rw-r--r--docs/cmdline-opts/silent.d1
-rw-r--r--docs/cmdline-opts/socks4.d1
-rw-r--r--docs/cmdline-opts/socks4a.d1
-rw-r--r--docs/cmdline-opts/socks5-basic.d1
-rw-r--r--docs/cmdline-opts/socks5-gssapi-nec.d1
-rw-r--r--docs/cmdline-opts/socks5-gssapi-service.d1
-rw-r--r--docs/cmdline-opts/socks5-gssapi.d1
-rw-r--r--docs/cmdline-opts/socks5-hostname.d1
-rw-r--r--docs/cmdline-opts/socks5.d1
-rw-r--r--docs/cmdline-opts/speed-limit.d1
-rw-r--r--docs/cmdline-opts/speed-time.d1
-rw-r--r--docs/cmdline-opts/ssl-allow-beast.d7
-rw-r--r--docs/cmdline-opts/ssl-auto-client-cert.d1
-rw-r--r--docs/cmdline-opts/ssl-no-revoke.d1
-rw-r--r--docs/cmdline-opts/ssl-reqd.d1
-rw-r--r--docs/cmdline-opts/ssl-revoke-best-effort.d1
-rw-r--r--docs/cmdline-opts/ssl.d1
-rw-r--r--docs/cmdline-opts/sslv2.d6
-rw-r--r--docs/cmdline-opts/sslv3.d1
-rw-r--r--docs/cmdline-opts/stderr.d1
-rw-r--r--docs/cmdline-opts/styled-output.d1
-rw-r--r--docs/cmdline-opts/suppress-connect-headers.d1
-rw-r--r--docs/cmdline-opts/tcp-fastopen.d1
-rw-r--r--docs/cmdline-opts/tcp-nodelay.d1
-rw-r--r--docs/cmdline-opts/telnet-option.d1
-rw-r--r--docs/cmdline-opts/tftp-blksize.d1
-rw-r--r--docs/cmdline-opts/tftp-no-options.d1
-rw-r--r--docs/cmdline-opts/time-cond.d3
-rw-r--r--docs/cmdline-opts/tls-max.d2
-rw-r--r--docs/cmdline-opts/tls13-ciphers.d1
-rw-r--r--docs/cmdline-opts/tlsauthtype.d1
-rw-r--r--docs/cmdline-opts/tlspassword.d1
-rw-r--r--docs/cmdline-opts/tlsuser.d1
-rw-r--r--docs/cmdline-opts/tlsv1.0.d1
-rw-r--r--docs/cmdline-opts/tlsv1.1.d1
-rw-r--r--docs/cmdline-opts/tlsv1.2.d1
-rw-r--r--docs/cmdline-opts/tlsv1.3.d1
-rw-r--r--docs/cmdline-opts/tlsv1.d1
-rw-r--r--docs/cmdline-opts/tr-encoding.d1
-rw-r--r--docs/cmdline-opts/trace-ascii.d1
-rw-r--r--docs/cmdline-opts/trace-time.d1
-rw-r--r--docs/cmdline-opts/trace.d1
-rw-r--r--docs/cmdline-opts/unix-socket.d1
-rw-r--r--docs/cmdline-opts/upload-file.d17
-rw-r--r--docs/cmdline-opts/url.d5
-rw-r--r--docs/cmdline-opts/use-ascii.d1
-rw-r--r--docs/cmdline-opts/user-agent.d1
-rw-r--r--docs/cmdline-opts/user.d1
-rw-r--r--docs/cmdline-opts/verbose.d1
-rw-r--r--docs/cmdline-opts/version.d1
-rw-r--r--docs/cmdline-opts/write-out.d1
-rw-r--r--docs/cmdline-opts/xattr.d1
-rw-r--r--src/tool_help.c6
245 files changed, 348 insertions, 53 deletions
diff --git a/docs/cmdline-opts/MANPAGE.md b/docs/cmdline-opts/MANPAGE.md
index b903bc25e..f7f09eb1d 100644
--- a/docs/cmdline-opts/MANPAGE.md
+++ b/docs/cmdline-opts/MANPAGE.md
@@ -28,6 +28,7 @@ Each file has a set of meta-data and a body of text.
Requires: (space separated list of features this requires, no dashes)
See-also: (space separated list of related options, no dashes)
Help: (short text for the --help output for this option)
+ Example: (example command line, without "curl" and can use `$URL`)
--- (end of meta-data)
### Body
diff --git a/docs/cmdline-opts/abstract-unix-socket.d b/docs/cmdline-opts/abstract-unix-socket.d
index 8403cab9d..e26048f1d 100644
--- a/docs/cmdline-opts/abstract-unix-socket.d
+++ b/docs/cmdline-opts/abstract-unix-socket.d
@@ -4,6 +4,7 @@ Help: Connect via abstract Unix domain socket
Added: 7.53.0
Protocols: HTTP
Category: connection
+Example: --abstract-unix-socket socketpath $URL
---
Connect through an abstract Unix domain socket, instead of using the network.
Note: netstat shows the path of an abstract socket prefixed with '@', however
diff --git a/docs/cmdline-opts/alt-svc.d b/docs/cmdline-opts/alt-svc.d
index 5598b59b4..914b1fbc6 100644
--- a/docs/cmdline-opts/alt-svc.d
+++ b/docs/cmdline-opts/alt-svc.d
@@ -4,9 +4,8 @@ Protocols: HTTPS
Help: Enable alt-svc with this cache file
Added: 7.64.1
Category: http
+Example: --alt-svc svc.txt $URL
---
-WARNING: this option is experimental. Do not use in production.
-
This option enables the alt-svc parser in curl. If the file name points to an
existing alt-svc cache file, that will be used. After a completed transfer,
the cache will be saved to the file name again if it has been modified.
diff --git a/docs/cmdline-opts/anyauth.d b/docs/cmdline-opts/anyauth.d
index bec0c0c86..427a64c89 100644
--- a/docs/cmdline-opts/anyauth.d
+++ b/docs/cmdline-opts/anyauth.d
@@ -3,6 +3,7 @@ Help: Pick any authentication method
Protocols: HTTP
See-also: proxy-anyauth basic digest
Category: http proxy auth
+Example: --anyauth --user me:pwd $URL
---
Tells curl to figure out authentication method by itself, and use the most
secure one the remote site claims to support. This is done by first doing a
diff --git a/docs/cmdline-opts/append.d b/docs/cmdline-opts/append.d
index 8bdb2594d..8afaf0eb6 100644
--- a/docs/cmdline-opts/append.d
+++ b/docs/cmdline-opts/append.d
@@ -3,6 +3,7 @@ Long: append
Help: Append to target file when uploading
Protocols: FTP SFTP
Category: ftp sftp
+Example: --upload-file local --append ftp://example.com/
---
When used in an upload, this makes curl append to the target file instead of
overwriting it. If the remote file doesn't exist, it will be created. Note
diff --git a/docs/cmdline-opts/aws-sigv4.d b/docs/cmdline-opts/aws-sigv4.d
index 26546df3f..db988640b 100644
--- a/docs/cmdline-opts/aws-sigv4.d
+++ b/docs/cmdline-opts/aws-sigv4.d
@@ -3,6 +3,7 @@ Arg: <provider1[:provider2[:region[:service]]]>
Help: Use AWS V4 signature authentication
Category: auth http
Added: 7.75.0
+Example: --aws-sigv4 "aws:amz:east-2:es" --user "key:secret" $URL
---
Use AWS V4 signature authentication in the transfer.
diff --git a/docs/cmdline-opts/basic.d b/docs/cmdline-opts/basic.d
index e222c51c1..62d2c22b0 100644
--- a/docs/cmdline-opts/basic.d
+++ b/docs/cmdline-opts/basic.d
@@ -3,6 +3,7 @@ Help: Use HTTP Basic Authentication
See-also: proxy-basic
Protocols: HTTP
Category: auth
+Example: -u name:password --basic $URL
---
Tells curl to use HTTP Basic authentication with the remote host. This is the
default and this option is usually pointless, unless you use it to override a
diff --git a/docs/cmdline-opts/cacert.d b/docs/cmdline-opts/cacert.d
index 793d8c1ba..1f3804046 100644
--- a/docs/cmdline-opts/cacert.d
+++ b/docs/cmdline-opts/cacert.d
@@ -3,6 +3,7 @@ Arg: <file>
Help: CA certificate to verify peer against
Protocols: TLS
Category: tls
+Example: --cacert CA-file.txt $URL
---
Tells curl to use the specified certificate file to verify the peer. The file
may contain multiple CA certificates. The certificate(s) must be in PEM
@@ -26,9 +27,9 @@ should not be set. If the option is not set, then curl will use the
certificates in the system and user Keychain to verify the peer, which is the
preferred method of verifying the peer's certificate chain.
-(Schannel only) This option is supported for Schannel in Windows 7 or later with
-libcurl 7.60 or later. This option is supported for backward compatibility
-with other SSL engines; instead it is recommended to use Windows' store of
-root certificates (the default for Schannel).
+(Schannel only) This option is supported for Schannel in Windows 7 or later
+with libcurl 7.60 or later. This option is supported for backward
+compatibility with other SSL engines; instead it is recommended to use
+Windows' store of root certificates (the default for Schannel).
If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/capath.d b/docs/cmdline-opts/capath.d
index 4ce077a14..ba407ed0c 100644
--- a/docs/cmdline-opts/capath.d
+++ b/docs/cmdline-opts/capath.d
@@ -3,6 +3,7 @@ Arg: <dir>
Help: CA directory to verify peer against
Protocols: TLS
Category: tls
+Example: --capath /local/directory $URL
---
Tells curl to use the specified certificate directory to verify the
peer. Multiple paths can be provided by separating them with ":" (e.g.
diff --git a/docs/cmdline-opts/cert-status.d b/docs/cmdline-opts/cert-status.d
index 63e352051..360e5c901 100644
--- a/docs/cmdline-opts/cert-status.d
+++ b/docs/cmdline-opts/cert-status.d
@@ -3,6 +3,7 @@ Protocols: TLS
Added: 7.41.0
Help: Verify the status of the server cert via OCSP-staple
Category: tls
+Example: --cert-status $URL
---
Tells curl to verify the status of the server certificate by using the
Certificate Status Request (aka. OCSP stapling) TLS extension.
diff --git a/docs/cmdline-opts/cert-type.d b/docs/cmdline-opts/cert-type.d
index b041bcb06..9fcbfe752 100644
--- a/docs/cmdline-opts/cert-type.d
+++ b/docs/cmdline-opts/cert-type.d
@@ -4,6 +4,7 @@ Arg: <type>
Help: Certificate type (DER/PEM/ENG)
See-also: cert key key-type
Category: tls
+Example: --cert-type PEM --cert file $URL
---
Tells curl what type the provided client certificate is using. PEM, DER, ENG
and P12 are recognized types. If not specified, PEM is assumed.
diff --git a/docs/cmdline-opts/cert.d b/docs/cmdline-opts/cert.d
index 2938e571f..8e0fb88e8 100644
--- a/docs/cmdline-opts/cert.d
+++ b/docs/cmdline-opts/cert.d
@@ -5,6 +5,7 @@ Help: Client certificate file and password
Protocols: TLS
See-also: cert-type key key-type
Category: tls
+Example: --cert certfile --key keyfile $URL
---
Tells curl to use the specified client certificate file when getting a file
with HTTPS, FTPS or another SSL-based protocol. The certificate must be in
diff --git a/docs/cmdline-opts/ciphers.d b/docs/cmdline-opts/ciphers.d
index 723b95923..c2cb92e06 100644
--- a/docs/cmdline-opts/ciphers.d
+++ b/docs/cmdline-opts/ciphers.d
@@ -3,6 +3,7 @@ Arg: <list of ciphers>
Help: SSL ciphers to use
Protocols: TLS
Category: tls
+Example: --ciphers ECDHE-ECDSA-AES256-CCM8 $URL
---
Specifies which ciphers to use in the connection. The list of ciphers must
specify valid ciphers. Read up on SSL cipher list details on this URL:
diff --git a/docs/cmdline-opts/compressed-ssh.d b/docs/cmdline-opts/compressed-ssh.d
index 849fe18b0..d95c6adfb 100644
--- a/docs/cmdline-opts/compressed-ssh.d
+++ b/docs/cmdline-opts/compressed-ssh.d
@@ -3,6 +3,7 @@ Help: Enable SSH compression
Protocols: SCP SFTP
Added: 7.56.0
Category: scp ssh
+Example: --compressed-ssh sftp://example.com/
---
Enables built-in SSH compression.
This is a request, not an order; the server may or may not do it.
diff --git a/docs/cmdline-opts/compressed.d b/docs/cmdline-opts/compressed.d
index dedd0e9e2..945beb85d 100644
--- a/docs/cmdline-opts/compressed.d
+++ b/docs/cmdline-opts/compressed.d
@@ -2,6 +2,7 @@ Long: compressed
Help: Request compressed response
Protocols: HTTP
Category: http
+Example: --compressed $URL
---
Request a compressed response using one of the algorithms curl supports, and
automatically decompress the content. Headers are not modified.
diff --git a/docs/cmdline-opts/config.d b/docs/cmdline-opts/config.d
index 5a0ad1f47..180592695 100644
--- a/docs/cmdline-opts/config.d
+++ b/docs/cmdline-opts/config.d
@@ -3,6 +3,7 @@ Arg: <file>
Help: Read config from a file
Short: K
Category: curl
+Example: --config file.txt $URL
---
Specify a text file to read curl arguments from. The command line arguments
diff --git a/docs/cmdline-opts/connect-timeout.d b/docs/cmdline-opts/connect-timeout.d
index fa3277221..e66e35adf 100644
--- a/docs/cmdline-opts/connect-timeout.d
+++ b/docs/cmdline-opts/connect-timeout.d
@@ -1,8 +1,10 @@
Long: connect-timeout
-Arg: <seconds>
+Arg: <fractional seconds>
Help: Maximum time allowed for connection
See-also: max-time
Category: connection
+Example: --connect-timeout 20 $URL
+Example: --connect-timeout 3.14 $URL
---
Maximum time in seconds that you allow curl's connection to take. This only
limits the connection phase, so if curl connects within the given period it
diff --git a/docs/cmdline-opts/connect-to.d b/docs/cmdline-opts/connect-to.d
index 2f015f8ac..ebea9b9da 100644
--- a/docs/cmdline-opts/connect-to.d
+++ b/docs/cmdline-opts/connect-to.d
@@ -4,6 +4,7 @@ Help: Connect to host
Added: 7.49.0
See-also: resolve header
Category: connection
+Example: --connect-to example.com:443:example.net:8443 $URL
---
For a request to the given HOST1:PORT1 pair, connect to HOST2:PORT2 instead.
diff --git a/docs/cmdline-opts/continue-at.d b/docs/cmdline-opts/continue-at.d
index c44d2f496..9e11bdb12 100644
--- a/docs/cmdline-opts/continue-at.d
+++ b/docs/cmdline-opts/continue-at.d
@@ -4,6 +4,8 @@ Arg: <offset>
Help: Resumed transfer offset
See-also: range
Category: connection
+Example: -C - $URL
+Example: -C 400 $URL
---
Continue/Resume a previous file transfer at the given offset. The given offset
is the exact number of bytes that will be skipped, counting from the beginning
diff --git a/docs/cmdline-opts/cookie-jar.d b/docs/cmdline-opts/cookie-jar.d
index f11991f4e..f418af6d7 100644
--- a/docs/cmdline-opts/cookie-jar.d
+++ b/docs/cmdline-opts/cookie-jar.d
@@ -4,6 +4,8 @@ Arg: <filename>
Protocols: HTTP
Help: Write cookies to <filename> after operation
Category: http
+Example: -c store-here.txt $URL
+Example: -c store-here.txt -b read-these $URL
---
Specify to which file you want curl to write all cookies after a completed
operation. Curl writes all cookies from its in-memory cookie storage to the
diff --git a/docs/cmdline-opts/cookie.d b/docs/cmdline-opts/cookie.d
index 5c40cf2d8..b593935eb 100644
--- a/docs/cmdline-opts/cookie.d
+++ b/docs/cmdline-opts/cookie.d
@@ -4,6 +4,8 @@ Arg: <data|filename>
Protocols: HTTP
Help: Send cookies from string/file
Category: http
+Example: -b cookiefile $URL
+Example: -b cookiefile -c cookiefile $URL
---
Pass the data to the HTTP server in the Cookie header. It is supposedly
the data previously received from the server in a "Set-Cookie:" line. The
diff --git a/docs/cmdline-opts/create-dirs.d b/docs/cmdline-opts/create-dirs.d
index 801e95d1e..cae1d5a51 100644
--- a/docs/cmdline-opts/create-dirs.d
+++ b/docs/cmdline-opts/create-dirs.d
@@ -1,6 +1,7 @@
Long: create-dirs
Help: Create necessary local directory hierarchy
Category: curl
+Example: --create-dirs --output local/dir/file $URL
---
When used in conjunction with the --output option, curl will create the
necessary local directory hierarchy as needed. This option creates the
diff --git a/docs/cmdline-opts/create-file-mode.d b/docs/cmdline-opts/create-file-mode.d
index 275fc6c21..429b5ee33 100644
--- a/docs/cmdline-opts/create-file-mode.d
+++ b/docs/cmdline-opts/create-file-mode.d
@@ -5,6 +5,7 @@ Protocols: SFTP SCP FILE
Category: sftp scp file upload
See-also: ftp-create-dirs
Added: 7.75.0
+Example: --create-file-mode 0777 -T localfile sftp://example.com/new
---
When curl is used to create files remotely using one of the supported
protocols, this option allows the user to set which 'mode' to set on the file
diff --git a/docs/cmdline-opts/crlf.d b/docs/cmdline-opts/crlf.d
index 50c4bef81..856cd135a 100644
--- a/docs/cmdline-opts/crlf.d
+++ b/docs/cmdline-opts/crlf.d
@@ -2,6 +2,7 @@ Long: crlf
Help: Convert LF to CRLF in upload
Protocols: FTP SMTP
Category: ftp smtp
+Example: --crlf -T file ftp://example.com/
---
Convert LF to CRLF in upload. Useful for MVS (OS/390).
diff --git a/docs/cmdline-opts/crlfile.d b/docs/cmdline-opts/crlfile.d
index 360e668d1..21e86a8c2 100644
--- a/docs/cmdline-opts/crlfile.d
+++ b/docs/cmdline-opts/crlfile.d
@@ -1,9 +1,10 @@
Long: crlfile
Arg: <file>
Protocols: TLS
-Help: Get a CRL list in PEM format from the given file
+Help: Use this CRL list
Added: 7.19.7
Category: tls
+Example: --crlfile rejects.txt $URL
---
Provide a file using PEM format with a Certificate Revocation List that may
specify peer certificates that are to be considered revoked.
diff --git a/docs/cmdline-opts/curves.d b/docs/cmdline-opts/curves.d
index 47870a278..ac5ab1016 100644
--- a/docs/cmdline-opts/curves.d
+++ b/docs/cmdline-opts/curves.d
@@ -4,6 +4,7 @@ Help: (EC) TLS key exchange algorithm(s) to request
Protocols: TLS
Added: 7.73.0
Category: tls
+Example: --curves X25519 $URL
---
Tells curl to request specific curves to use during SSL session establishment
according to RFC 8422, 5.1. Multiple algorithms can be provided by separating
diff --git a/docs/cmdline-opts/data-ascii.d b/docs/cmdline-opts/data-ascii.d
index 3522f6345..943f301dd 100644
--- a/docs/cmdline-opts/data-ascii.d
+++ b/docs/cmdline-opts/data-ascii.d
@@ -3,5 +3,6 @@ Arg: <data>
Help: HTTP POST ASCII data
Protocols: HTTP
Category: http post upload
+Example: --data-ascii @file $URL
---
This is just an alias for --data.
diff --git a/docs/cmdline-opts/data-binary.d b/docs/cmdline-opts/data-binary.d
index c40785ece..578cebca6 100644
--- a/docs/cmdline-opts/data-binary.d
+++ b/docs/cmdline-opts/data-binary.d
@@ -3,6 +3,7 @@ Arg: <data>
Help: HTTP POST binary data
Protocols: HTTP
Category: http post upload
+Example: --data-binary @filename $URL
---
This posts data exactly as specified with no extra processing whatsoever.
diff --git a/docs/cmdline-opts/data-raw.d b/docs/cmdline-opts/data-raw.d
index 4db83aefa..b8cd0f721 100644
--- a/docs/cmdline-opts/data-raw.d
+++ b/docs/cmdline-opts/data-raw.d
@@ -5,6 +5,8 @@ Help: HTTP POST data, '@' allowed
Added: 7.43.0
See-also: data
Category: http post upload
+Example: --data-raw "hello" $URL
+Example: --data-raw "@at@at@" $URL
---
This posts data similarly to --data but without the special
interpretation of the @ character.
diff --git a/docs/cmdline-opts/data-urlencode.d b/docs/cmdline-opts/data-urlencode.d
index 2205f9db4..8b1295754 100644
--- a/docs/cmdline-opts/data-urlencode.d
+++ b/docs/cmdline-opts/data-urlencode.d
@@ -5,6 +5,10 @@ Protocols: HTTP
See-also: data data-raw
Added: 7.18.0
Category: http post upload
+Example: --data-urlencode name=val $URL
+Example: --data-urlencode =encodethis $URL
+Example: --data-urlencode name@file $URL
+Example: --data-urlencode @fileonly $URL
---
This posts data, similar to the other --data options with the exception
that this performs URL-encoding.
diff --git a/docs/cmdline-opts/data.d b/docs/cmdline-opts/data.d
index 53ba86b36..35fd675ed 100644
--- a/docs/cmdline-opts/data.d
+++ b/docs/cmdline-opts/data.d
@@ -6,6 +6,9 @@ Protocols: HTTP MQTT
See-also: data-binary data-urlencode data-raw
Mutexed: form head upload-file
Category: important http post upload
+Example: -d "name=curl" $URL
+Example: -d "name=curl" -d "tool=cmdline" $URL
+Example: -d @filename $URL
---
Sends the specified data in a POST request to the HTTP server, in the same way
that a browser does when a user has filled in an HTML form and presses the
diff --git a/docs/cmdline-opts/delegation.d b/docs/cmdline-opts/delegation.d
index 41fa9408c..1514d66bc 100644
--- a/docs/cmdline-opts/delegation.d
+++ b/docs/cmdline-opts/delegation.d
@@ -3,6 +3,7 @@ Arg: <LEVEL>
Help: GSS-API delegation permission
Protocols: GSS/kerberos
Category: auth
+Example: --delegation "none" $URL
---
Set LEVEL to tell the server what it is allowed to delegate when it
comes to user credentials.
diff --git a/docs/cmdline-opts/digest.d b/docs/cmdline-opts/digest.d
index da8c01e26..193413777 100644
--- a/docs/cmdline-opts/digest.d
+++ b/docs/cmdline-opts/digest.d
@@ -4,6 +4,7 @@ Protocols: HTTP
Mutexed: basic ntlm negotiate
See-also: user proxy-digest anyauth
Category: proxy auth http
+Example: -u name:password --digest $URL
---
Enables HTTP Digest authentication. This is an authentication scheme that
prevents the password from being sent over the wire in clear text. Use this in
diff --git a/docs/cmdline-opts/disable-eprt.d b/docs/cmdline-opts/disable-eprt.d
index ffcf684e4..38b3e0b38 100644
--- a/docs/cmdline-opts/disable-eprt.d
+++ b/docs/cmdline-opts/disable-eprt.d
@@ -2,6 +2,7 @@ Long: disable-eprt
Help: Inhibit using EPRT or LPRT
Protocols: FTP
Category: ftp
+Example: --disable-eprt ftp://example.com/
---
Tell curl to disable the use of the EPRT and LPRT commands when doing active
FTP transfers. Curl will normally always first attempt to use EPRT, then LPRT
diff --git a/docs/cmdline-opts/disable-epsv.d b/docs/cmdline-opts/disable-epsv.d
index dadef098b..281ec5c9d 100644
--- a/docs/cmdline-opts/disable-epsv.d
+++ b/docs/cmdline-opts/disable-epsv.d
@@ -2,6 +2,7 @@ Long: disable-epsv
Help: Inhibit using EPSV
Protocols: FTP
Category: ftp
+Example: --disable-epsv ftp://example.com/
---
Tell curl to disable the use of the EPSV command when doing passive FTP
transfers. Curl will normally always first attempt to use EPSV before
diff --git a/docs/cmdline-opts/disable.d b/docs/cmdline-opts/disable.d
index d90960884..3eb87f8d4 100644
--- a/docs/cmdline-opts/disable.d
+++ b/docs/cmdline-opts/disable.d
@@ -2,6 +2,7 @@ Long: disable
Short: q
Help: Disable .curlrc
Category: curl
+Example: -q $URL
---
If used as the first parameter on the command line, the *curlrc* config
file will not be read and used. See the --config for details on the default
diff --git a/docs/cmdline-opts/disallow-username-in-url.d b/docs/cmdline-opts/disallow-username-in-url.d
index e124f675a..f3122aea5 100644
--- a/docs/cmdline-opts/disallow-username-in-url.d
+++ b/docs/cmdline-opts/disallow-username-in-url.d
@@ -4,5 +4,7 @@ Protocols: HTTP
Added: 7.61.0
See-also: proto
Category: curl http
+Example: --disallow-username-in-url $URL
---
-This tells curl to exit if passed a url containing a username.
+This tells curl to exit if passed a url containing a username. This is probably
+most useful when the URL is being provided at run-time or similar.
diff --git a/docs/cmdline-opts/dns-interface.d b/docs/cmdline-opts/dns-interface.d
index 3cb818ae3..fec7927eb 100644
--- a/docs/cmdline-opts/dns-interface.d
+++ b/docs/cmdline-opts/dns-interface.d
@@ -6,6 +6,7 @@ See-also: dns-ipv4-addr dns-ipv6-addr
Added: 7.33.0
Requires: c-ares
Category: dns
+Example: --dns-interface eth0 $URL
---
Tell curl to send outgoing DNS requests through <interface>. This option is a
counterpart to --interface (which does not affect DNS). The supplied string
diff --git a/docs/cmdline-opts/dns-ipv4-addr.d b/docs/cmdline-opts/dns-ipv4-addr.d
index 0d7bae6f0..e09153ab4 100644
--- a/docs/cmdline-opts/dns-ipv4-addr.d
+++ b/docs/cmdline-opts/dns-ipv4-addr.d
@@ -6,6 +6,7 @@ See-also: dns-interface dns-ipv6-addr
Added: 7.33.0
Requires: c-ares
Category: dns
+Example: --dns-ipv4-addr 10.1.2.3 $URL
---
Tell curl to bind to <ip-address> when making IPv4 DNS requests, so that
the DNS requests originate from this address. The argument should be a
diff --git a/docs/cmdline-opts/dns-ipv6-addr.d b/docs/cmdline-opts/dns-ipv6-addr.d
index a964dbb06..954cb98b3 100644
--- a/docs/cmdline-opts/dns-ipv6-addr.d
+++ b/docs/cmdline-opts/dns-ipv6-addr.d
@@ -6,6 +6,7 @@ See-also: dns-interface dns-ipv4-addr
Added: 7.33.0
Requires: c-ares
Category: dns
+Example: --dns-ipv6-addr 2a04:4e42::561 $URL
---
Tell curl to bind to <ip-address> when making IPv6 DNS requests, so that
the DNS requests originate from this address. The argument should be a
diff --git a/docs/cmdline-opts/dns-servers.d b/docs/cmdline-opts/dns-servers.d
index a0954b31f..089473580 100644
--- a/docs/cmdline-opts/dns-servers.d
+++ b/docs/cmdline-opts/dns-servers.d
@@ -4,6 +4,7 @@ Help: DNS server addrs to use
Requires: c-ares
Added: 7.33.0
Category: dns
+Example: --dns-servers 192.168.0.1,192.168.0.2 $URL
---
Set the list of DNS servers to be used instead of the system default.
The list of IP addresses should be separated with commas. Port numbers
diff --git a/docs/cmdline-opts/doh-cert-status.d b/docs/cmdline-opts/doh-cert-status.d
index 1442fc8a9..a760a6fb1 100644
--- a/docs/cmdline-opts/doh-cert-status.d
+++ b/docs/cmdline-opts/doh-cert-status.d
@@ -3,5 +3,6 @@ Help: Verify the status of the DoH server cert via OCSP-staple
Protocols: all
Added: 7.76.0
Category: dns tls
+Example: --doh-cert-status --doh-url https://doh.example $URL
---
Same as --cert-status but used for DoH (DNS-over-HTTPS).
diff --git a/docs/cmdline-opts/doh-insecure.d b/docs/cmdline-opts/doh-insecure.d
index fe399a2f9..907a5dcd6 100644
--- a/docs/cmdline-opts/doh-insecure.d
+++ b/docs/cmdline-opts/doh-insecure.d
@@ -3,5 +3,6 @@ Help: Allow insecure DoH server connections
Protocols: all
Added: 7.76.0
Category: dns tls
+Example: --doh-insecure --doh-url https://doh.example $URL
---
Same as --insecure but used for DoH (DNS-over-HTTPS).
diff --git a/docs/cmdline-opts/doh-url.d b/docs/cmdline-opts/doh-url.d
index 612945afa..80ff96ccc 100644
--- a/docs/cmdline-opts/doh-url.d
+++ b/docs/cmdline-opts/doh-url.d
@@ -4,6 +4,7 @@ Help: Resolve host names over DoH
Protocols: all
Added: 7.62.0
Category: dns
+Example: --doh-url https://doh.example $URL
---
Specifies which DNS-over-HTTPS (DoH) server to use to resolve hostnames,
instead of using the default name resolver mechanism. The URL must be HTTPS.
diff --git a/docs/cmdline-opts/dump-header.d b/docs/cmdline-opts/dump-header.d
index aa3bd9e33..62c92f44b 100644
--- a/docs/cmdline-opts/dump-header.d
+++ b/docs/cmdline-opts/dump-header.d
@@ -5,6 +5,7 @@ Help: Write the received headers to <filename>
Protocols: HTTP FTP
See-also: output
Category: http ftp
+Example: --dump-header store.txt $URL
---
Write the received protocol headers to the specified file. If no headers are
received, the use of this option will create an empty file.
diff --git a/docs/cmdline-opts/egd-file.d b/docs/cmdline-opts/egd-file.d
index 05ede9ad1..2e99df4cd 100644
--- a/docs/cmdline-opts/egd-file.d
+++ b/docs/cmdline-opts/egd-file.d
@@ -4,6 +4,7 @@ Help: EGD socket path for random data
Protocols: TLS
See-also: random-file
Category: tls
+Example: --egd-file /random/here $URL
---
Specify the path name to the Entropy Gathering Daemon socket. The socket is
used to seed the random engine for SSL connections.
diff --git a/docs/cmdline-opts/engine.d b/docs/cmdline-opts/engine.d
index 034796c9a..8a2dcf746 100644
--- a/docs/cmdline-opts/engine.d
+++ b/docs/cmdline-opts/engine.d
@@ -3,6 +3,7 @@ Arg: <name>
Help: Crypto engine to use
Protocols: TLS
Category: tls
+Example: --engine flavor $URL
---
Select the OpenSSL crypto engine to use for cipher operations. Use --engine
list to print a list of build-time supported engines. Note that not all (and
diff --git a/docs/cmdline-opts/etag-compare.d b/docs/cmdline-opts/etag-compare.d
index c984cc9f8..fa1676287 100644
--- a/docs/cmdline-opts/etag-compare.d
+++ b/docs/cmdline-opts/etag-compare.d
@@ -4,6 +4,7 @@ Help: Pass an ETag from a file as a custom header
Protocols: HTTP
Added: 7.68.0
Category: http
+Example: --etag-compare etag.txt $URL
---
This option makes a conditional HTTP request for the specific ETag read
from the given file by sending a custom If-None-Match header using the
diff --git a/docs/cmdline-opts/etag-save.d b/docs/cmdline-opts/etag-save.d
index dc2484c32..8efad9044 100644
--- a/docs/cmdline-opts/etag-save.d
+++ b/docs/cmdline-opts/etag-save.d
@@ -4,6 +4,7 @@ Help: Parse ETag from a request and save it to a file
Protocols: HTTP
Added: 7.68.0
Category: http
+Example: --etag-save storetag.txt $URL
---
This option saves an HTTP ETag to the specified file. An ETag is a
caching related header, usually returned in a response.
diff --git a/docs/cmdline-opts/expect100-timeout.d b/docs/cmdline-opts/expect100-timeout.d
index 431a529c2..8855edd0b 100644
--- a/docs/cmdline-opts/expect100-timeout.d
+++ b/docs/cmdline-opts/expect100-timeout.d
@@ -5,6 +5,7 @@ Protocols: HTTP
Added: 7.47.0
See-also: connect-timeout
Category: http
+Example: --expect100-timeout 2.5 -T file $URL
---
Maximum time in seconds that you allow curl to wait for a 100-continue
response when curl emits an Expects: 100-continue header in its request. By
diff --git a/docs/cmdline-opts/fail-early.d b/docs/cmdline-opts/fail-early.d
index 3fbe238af..aad15c3fe 100644
--- a/docs/cmdline-opts/fail-early.d
+++ b/docs/cmdline-opts/fail-early.d
@@ -2,6 +2,7 @@ Long: fail-early
Help: Fail on first transfer error, do not continue
Added: 7.52.0
Category: curl
+Example: --fail-early $URL https://two.example
---
Fail and exit on the first detected transfer error.
diff --git a/docs/cmdline-opts/fail-with-body.d b/docs/cmdline-opts/fail-with-body.d
index e27d459f9..9b8c7db4e 100644
--- a/docs/cmdline-opts/fail-with-body.d
+++ b/docs/cmdline-opts/fail-with-body.d
@@ -4,6 +4,7 @@ Help: Fail on HTTP errors but save the body
Category: http output
Added: 7.76.0
See-also: fail
+Example: --fail-with-body $URL
---
Return an error on server errors where the HTTP response code is 400 or
greater). In normal cases when an HTTP server fails to deliver a document, it
diff --git a/docs/cmdline-opts/fail.d b/docs/cmdline-opts/fail.d
index d4d65fba4..a5e0c91e7 100644
--- a/docs/cmdline-opts/fail.d
+++ b/docs/cmdline-opts/fail.d
@@ -4,6 +4,7 @@ Protocols: HTTP
Help: Fail silently (no output at all) on HTTP errors
See-also: fail-with-body
Category: important http
+Example: --fail $URL
---
Fail silently (no output at all) on server errors. This is mostly done to
enable scripts etc to better deal with failed attempts. In normal cases
diff --git a/docs/cmdline-opts/false-start.d b/docs/cmdline-opts/false-start.d
index abeff0eb5..de36962ee 100644
--- a/docs/cmdline-opts/false-start.d
+++ b/docs/cmdline-opts/false-start.d
@@ -3,6 +3,7 @@ Help: Enable TLS False Start
Protocols: TLS
Added: 7.42.0
Category: tls
+Example: --false-start $URL
---
Tells curl to use false start during the TLS handshake. False start is a mode
where a TLS client will start sending application data before verifying the
diff --git a/docs/cmdline-opts/form-string.d b/docs/cmdline-opts/form-string.d
index 04d2578c5..4f1a766bc 100644
--- a/docs/cmdline-opts/form-string.d
+++ b/docs/cmdline-opts/form-string.d
@@ -4,6 +4,7 @@ Protocols: HTTP SMTP IMAP
Arg: <name=string>
See-also: form
Category: http upload
+Example: --form-string "data" $URL
---
Similar to --form except that the value string for the named parameter is used
literally. Leading \&'@' and \&'<' characters, and the \&';type=' string in
diff --git a/docs/cmdline-opts/form.d b/docs/cmdline-opts/form.d
index eec9aac72..06f2c5532 100644
--- a/docs/cmdline-opts/form.d
+++ b/docs/cmdline-opts/form.d
@@ -5,6 +5,7 @@ Help: Specify multipart MIME data
Protocols: HTTP SMTP IMAP
Mutexed: data head upload-file
Category: http upload
+Example: --form "name=curl" --form "file=@loadthis" $URL
---
For HTTP protocol family, this lets curl emulate a filled-in form in which a
user has pressed the submit button. This causes curl to POST data using the
diff --git a/docs/cmdline-opts/ftp-account.d b/docs/cmdline-opts/ftp-account.d
index bc04ba047..ce816f10d 100644
--- a/docs/cmdline-opts/ftp-account.d
+++ b/docs/cmdline-opts/ftp-account.d
@@ -4,6 +4,7 @@ Help: Account data string
Protocols: FTP
Added: 7.13.0
Category: ftp auth
+Example: --ftp-account "mr.robot" ftp://example.com/
---
When an FTP server asks for "account data" after user name and password has
been provided, this data is sent off using the ACCT command.
diff --git a/docs/cmdline-opts/ftp-alternative-to-user.d b/docs/cmdline-opts/ftp-alternative-to-user.d
index 171484906..a5fb9853d 100644
--- a/docs/cmdline-opts/ftp-alternative-to-user.d
+++ b/docs/cmdline-opts/ftp-alternative-to-user.d
@@ -4,6 +4,7 @@ Help: String to replace USER [name]
Protocols: FTP
Added: 7.15.5
Category: ftp
+Example: --ftp-alternative-to-user "U53r" ftp://example.com
---
If authenticating with the USER and PASS commands fails, send this command.
When connecting to Tumbleweed's Secure Transport server over FTPS using a
diff --git a/docs/cmdline-opts/ftp-create-dirs.d b/docs/cmdline-opts/ftp-create-dirs.d
index 5d9dfda46..579f8e36d 100644
--- a/docs/cmdline-opts/ftp-create-dirs.d
+++ b/docs/cmdline-opts/ftp-create-dirs.d
@@ -3,6 +3,7 @@ Protocols: FTP SFTP
Help: Create the remote dirs if not present
See-also: create-dirs
Category: ftp sftp curl
+Example: --ftp-create-dirs -T file ftp://example.com/remote/path/file
---
When an FTP or SFTP URL/operation uses a path that doesn't currently exist on
the server, the standard behavior of curl is to fail. Using this option, curl
diff --git a/docs/cmdline-opts/ftp-method.d b/docs/cmdline-opts/ftp-method.d
index 149340b82..4af0baf42 100644
--- a/docs/cmdline-opts/ftp-method.d
+++ b/docs/cmdline-opts/ftp-method.d
@@ -4,6 +4,9 @@ Help: Control CWD usage
Protocols: FTP
Added: 7.15.1
Category: ftp
+Example: --ftp-method multicwd ftp://example.com/dir1/dir2/file
+Example: --ftp-method nocwd ftp://example.com/dir1/dir2/file
+Example: --ftp-method singlecwd ftp://example.com/dir1/dir2/file
---
Control what method curl should use to reach a file on an FTP(S)
server. The method argument should be one of the following alternatives:
diff --git a/docs/cmdline-opts/ftp-pasv.d b/docs/cmdline-opts/ftp-pasv.d
index cbd548de3..d920fefa6 100644
--- a/docs/cmdline-opts/ftp-pasv.d
+++ b/docs/cmdline-opts/ftp-pasv.d
@@ -4,6 +4,7 @@ Protocols: FTP
Added: 7.11.0
See-also: disable-epsv
Category: ftp
+Example: --ftp-pasv ftp://example.com/
---
Use passive mode for the data connection. Passive is the internal default
behavior, but using this option can be used to override a previous --ftp-port
diff --git a/docs/cmdline-opts/ftp-port.d b/docs/cmdline-opts/ftp-port.d
index 9bb1d43f0..52e55e58f 100644
--- a/docs/cmdline-opts/ftp-port.d
+++ b/docs/cmdline-opts/ftp-port.d
@@ -5,6 +5,9 @@ Short: P
Protocols: FTP
See-also: ftp-pasv disable-eprt
Category: ftp
+Example: -P - ftp:/example.com
+Example: -P eth0 ftp:/example.com
+Example: -P 192.168.0.2 ftp:/example.com
---
Reverses the default initiator/listener roles when connecting with FTP. This
option makes curl use active mode. curl then tells the server to connect back
diff --git a/docs/cmdline-opts/ftp-pret.d b/docs/cmdline-opts/ftp-pret.d
index e9c7d251a..453d8cf85 100644
--- a/docs/cmdline-opts/ftp-pret.d
+++ b/docs/cmdline-opts/ftp-pret.d
@@ -3,6 +3,7 @@ Help: Send PRET before PASV
Protocols: FTP
Added: 7.20.0
Category: ftp
+Example: --ftp-pret ftp://example.com/
---
Tell curl to send a PRET command before PASV (and EPSV). Certain FTP servers,
mainly drftpd, require this non-standard command for directory listings as
diff --git a/docs/cmdline-opts/ftp-skip-pasv-ip.d b/docs/cmdline-opts/ftp-skip-pasv-ip.d
index bcf4e7e62..36f9e6da1 100644
--- a/docs/cmdline-opts/ftp-skip-pasv-ip.d
+++ b/docs/cmdline-opts/ftp-skip-pasv-ip.d
@@ -4,6 +4,7 @@ Protocols: FTP
Added: 7.14.2
See-also: ftp-pasv
Category: ftp
+Example: --ftp-skip-pasv-ip ftp://example.com/
---
Tell curl to not use the IP address the server suggests in its response
to curl's PASV command when curl connects the data connection. Instead curl
diff --git a/docs/cmdline-opts/ftp-ssl-ccc-mode.d b/docs/cmdline-opts/ftp-ssl-ccc-mode.d
index 6289e544a..15ad1f54b 100644
--- a/docs/cmdline-opts/ftp-ssl-ccc-mode.d
+++ b/docs/cmdline-opts/ftp-ssl-ccc-mode.d
@@ -5,6 +5,7 @@ Protocols: FTP
Added: 7.16.2
See-also: ftp-ssl-ccc
Category: ftp tls
+Example: --ftp-ssl-ccc-mode active --ftp-ssl-ccc ftps://example.com/
---
Sets the CCC mode. The passive mode will not initiate the shutdown, but
instead wait for the server to do it, and will not reply to the shutdown from
diff --git a/docs/cmdline-opts/ftp-ssl-ccc.d b/docs/cmdline-opts/ftp-ssl-ccc.d
index 33cab4302..bfaf431bb 100644
--- a/docs/cmdline-opts/ftp-ssl-ccc.d
+++ b/docs/cmdline-opts/ftp-ssl-ccc.d
@@ -4,6 +4,7 @@ Protocols: FTP
See-also: ssl ftp-ssl-ccc-mode
Added: 7.16.1
Category: ftp tls
+Example: --ftp-ssl-ccc ftps://example.com/
---
Use CCC (Clear Command Channel) Shuts down the SSL/TLS layer after
authenticating. The rest of the control channel communication will be
diff --git a/docs/cmdline-opts/ftp-ssl-control.d b/docs/cmdline-opts/ftp-ssl-control.d
index 5191353dd..72dc080bc 100644
--- a/docs/cmdline-opts/ftp-ssl-control.d
+++ b/docs/cmdline-opts/ftp-ssl-control.d
@@ -3,6 +3,7 @@ Help: Require SSL/TLS for FTP login, clear for transfer
Protocols: FTP
Added: 7.16.0
Category: ftp tls
+Example: --ftp-ssl-control ftp://example.com
---
Require SSL/TLS for the FTP login, clear for transfer. Allows secure
authentication, but non-encrypted data transfers for efficiency. Fails the
diff --git a/docs/cmdline-opts/gen.pl b/docs/cmdline-opts/gen.pl
index e651f029a..c058987d4 100755
--- a/docs/cmdline-opts/gen.pl
+++ b/docs/cmdline-opts/gen.pl
@@ -138,8 +138,11 @@ sub single {
my $requires;
my $category;
my $seealso;
+ my @examples; # there can be more than one
my $magic; # cmdline special option
+ my $line;
while(<F>) {
+ $line++;
if(/^Short: *(.)/i) {
$short=$1;
}
@@ -173,6 +176,9 @@ sub single {
elsif(/^Category: *(.*)/i) {
$category=$1;
}
+ elsif(/^Example: *(.*)/i) {
+ push @examples, $1;
+ }
elsif(/^Help: *(.*)/i) {
;
}
@@ -185,6 +191,10 @@ sub single {
print STDERR "ERROR: no 'Category:' in $f\n";
exit 2;
}
+ if(!$examples[0]) {
+ print STDERR "$f:$line:1:ERROR: no 'Example:' present\n";
+ exit 2;
+ }
last;
}
else {
@@ -276,6 +286,16 @@ sub single {
}
push @foot, overrides($standalone, "This option overrides $mstr. ");
}
+ if($examples[0]) {
+ my $s ="";
+ $s="s" if($examples[1]);
+ print "\nExample$s:\n.nf\n";
+ foreach my $e (@examples) {
+ $e =~ s!\$URL!https://example.com!g;
+ print " curl $e\n";
+ }
+ print ".fi\n";
+ }
if($added) {
push @foot, added($standalone, $added);
}
diff --git a/docs/cmdline-opts/get.d b/docs/cmdline-opts/get.d
index d529bb4e0..e51c15563 100644
--- a/docs/cmdline-opts/get.d
+++ b/docs/cmdline-opts/get.d
@@ -2,6 +2,7 @@ Long: get
Short: G
Help: Put the post data in the URL and use GET
Category: http upload
+Example: --get $URL
---
When used, this option will make all data specified with --data, --data-binary
or --data-urlencode to be used in an HTTP GET request instead of the POST
diff --git a/docs/cmdline-opts/globoff.d b/docs/cmdline-opts/globoff.d
index 1db0fa264..ec2c7ae48 100644
--- a/docs/cmdline-opts/globoff.d
+++ b/docs/cmdline-opts/globoff.d
@@ -2,6 +2,7 @@ Long: globoff
Short: g
Help: Disable URL sequences and ranges using {} and []
Category: curl
+Example: -g "https://example.com/{[]}}}}"
---
This option switches off the "URL globbing parser". When you set this option,
you can specify URLs that contain the letters {}[] without having curl itself
diff --git a/docs/cmdline-opts/happy-eyeballs-timeout-ms.d b/docs/cmdline-opts/happy-eyeballs-timeout-ms.d
index 1488a5a04..c3b2a5132 100644
--- a/docs/cmdline-opts/happy-eyeballs-timeout-ms.d
+++ b/docs/cmdline-opts/happy-eyeballs-timeout-ms.d
@@ -3,6 +3,7 @@ Arg: <milliseconds>
Help: Time for IPv6 before trying IPv4
Added: 7.59.0
Category: connection
+Example: --happy-eyeballs-timeout-ms 500 $URL
---
Happy Eyeballs is an algorithm that attempts to connect to both IPv4 and IPv6
addresses for dual-stack hosts, giving IPv6 a head-start of the specified
diff --git a/docs/cmdline-opts/haproxy-protocol.d b/docs/cmdline-opts/haproxy-protocol.d
index 835820465..446dc6572 100644
--- a/docs/cmdline-opts/haproxy-protocol.d
+++ b/docs/cmdline-opts/haproxy-protocol.d
@@ -3,10 +3,11 @@ Help: Send HAProxy PROXY protocol v1 header
Protocols: HTTP
Added: 7.60.0
Category: http proxy
+Example: --haproxy-protocol $URL
---
-Send a HAProxy PROXY protocol v1 header at the beginning of the connection. This
-is used by some load balancers and reverse proxies to indicate the client's
-true IP address and port.
+Send a HAProxy PROXY protocol v1 header at the beginning of the
+connection. This is used by some load balancers and reverse proxies to
+indicate the client's true IP address and port.
This option is primarily useful when sending test requests to a service that
expects this header.
diff --git a/docs/cmdline-opts/head.d b/docs/cmdline-opts/head.d
index 6fe468511..06d2489d5 100644
--- a/docs/cmdline-opts/head.d
+++ b/docs/cmdline-opts/head.d
@@ -3,6 +3,7 @@ Short: I
Help: Show document info only
Protocols: HTTP FTP FILE
Category: http ftp file
+Example: -I $URL
---
Fetch the headers only! HTTP-servers feature the command HEAD which this uses
to get nothing but the header of a document. When used on an FTP or FILE file,
diff --git a/docs/cmdline-opts/header.d b/docs/cmdline-opts/header.d
index 121285ae3..11c96d5ea 100644
--- a/docs/cmdline-opts/header.d
+++ b/docs/cmdline-opts/header.d
@@ -5,6 +5,9 @@ Help: Pass custom header(s) to server
Protocols: HTTP
Category: http
See-also: user-agent referer
+Example: -H "X-First-Name: Joe" $URL
+Example: -H "User-Agent: yes-please/2000" $URL
+Example: -H "Host:" $URL
---
Extra header to include in the request when sending HTTP to a server. You may
specify any number of extra headers. Note that if you should add a custom
@@ -32,10 +35,6 @@ proxy. Added in 7.37.0.
Passing on a "Transfer-Encoding: chunked" header when doing a HTTP request
with a request body, will make curl send the data using chunked encoding.
-Example:
-
- curl -H "X-First-Name: Joe" http://example.com/
-
**WARNING**: headers set with this option will be set in all requests - even
after redirects are followed, like when told with --location. This can lead to
the header being sent to other hosts than the original host, so sensitive
diff --git a/docs/cmdline-opts/help.d b/docs/cmdline-opts/help.d
index b7c68233a..28ae868d2 100644
--- a/docs/cmdline-opts/help.d
+++ b/docs/cmdline-opts/help.d
@@ -3,6 +3,7 @@ Arg: <category>
Short: h
Help: Get help for commands
Category: important curl
+Example: --help all
---
Usage help. This lists all commands of the <category>.
If no arg was provided, curl will display the most important
diff --git a/docs/cmdline-opts/hostpubmd5.d b/docs/cmdline-opts/hostpubmd5.d
index c926ed8b5..833db950c 100644
--- a/docs/cmdline-opts/hostpubmd5.d
+++ b/docs/cmdline-opts/hostpubmd5.d
@@ -4,6 +4,7 @@ Help: Acceptable MD5 hash of the host public key
Protocols: SFTP SCP
Added: 7.17.1
Category: sftp scp
+Example: --hostpubmd5 e5c1c49020640a5ab0f2034854c321a8 sftp://example.com/
---
Pass a string containing 32 hexadecimal digits. The string should
be the 128 bit MD5 checksum of the remote host's public key, curl will refuse
diff --git a/docs/cmdline-opts/hsts.d b/docs/cmdline-opts/hsts.d
index 2399084bf..f9cd453da 100644
--- a/docs/cmdline-opts/hsts.d
+++ b/docs/cmdline-opts/hsts.d
@@ -4,9 +4,8 @@ Protocols: HTTPS
Help: Enable HSTS with this cache file
Added: 7.74.0
Category: http
+Example: --hsts cache.txt $URL
---
-WARNING: this option is experimental. Do not use in production.
-
This option enables HSTS for the transfer. If the file name points to an
existing HSTS cache file, that will be used. After a completed transfer, the
cache will be saved to the file name again if it has been modified.
diff --git a/docs/cmdline-opts/http0.9.d b/docs/cmdline-opts/http0.9.d
index 954c22a17..7c45d565a 100644
--- a/docs/cmdline-opts/http0.9.d
+++ b/docs/cmdline-opts/http0.9.d
@@ -4,6 +4,7 @@ Protocols: HTTP
Added:
Help: Allow HTTP 0.9 responses
Category: http
+Example: --http0.9 $URL
---
Tells curl to be fine with HTTP version 0.9 response.
diff --git a/docs/cmdline-opts/http1.0.d b/docs/cmdline-opts/http1.0.d
index a4059dbf0..cbfbaee40 100644
--- a/docs/cmdline-opts/http1.0.d
+++ b/docs/cmdline-opts/http1.0.d
@@ -6,6 +6,7 @@ Added:
Mutexed: http1.1 http2
Help: Use HTTP 1.0
Category: http
+Example: --http1.0 $URL
---
Tells curl to use HTTP version 1.0 instead of using its internally preferred
HTTP version.
diff --git a/docs/cmdline-opts/http1.1.d b/docs/cmdline-opts/http1.1.d
index a71a40bab..01fa76d33 100644
--- a/docs/cmdline-opts/http1.1.d
+++ b/docs/cmdline-opts/http1.1.d
@@ -5,5 +5,6 @@ Added: 7.33.0
Mutexed: http1.0 http2
Help: Use HTTP 1.1
Category: http
+Example: --http1.1 $URL
---
Tells curl to use HTTP version 1.1.
diff --git a/docs/cmdline-opts/http2-prior-knowledge.d b/docs/cmdline-opts/http2-prior-knowledge.d
index ea2906edb..e3b32f6ba 100644
--- a/docs/cmdline-opts/http2-prior-knowledge.d
+++ b/docs/cmdline-opts/http2-prior-knowledge.d
@@ -6,6 +6,7 @@ Mutexed: http1.1 http1.0 http2
Requires: HTTP/2
Help: Use HTTP 2 without HTTP/1.1 Upgrade
Category: http
+Example: --http2-prior-knowledge $URL
---
Tells curl to issue its non-TLS HTTP requests using HTTP/2 without HTTP/1.1
Upgrade. It requires prior knowledge that the server supports HTTP/2 straight
diff --git a/docs/cmdline-opts/http2.d b/docs/cmdline-opts/http2.d
index 197515ee8..2a85db600 100644
--- a/docs/cmdline-opts/http2.d
+++ b/docs/cmdline-opts/http2.d
@@ -8,5 +8,12 @@ See-also: no-alpn
Help: Use HTTP 2
See-also: http1.1 http3
Category: http
+Example: --http2 $URL
---
Tells curl to use HTTP version 2.
+
+For HTTPS, this means curl will attempt to negotiate HTTP/2 in the TLS
+handshake. curl does this by default.
+
+For HTTP, this means curl will attempt to upgrade the request to HTTP/2 using
+the Upgrade: request header.
diff --git a/docs/cmdline-opts/http3.d b/docs/cmdline-opts/http3.d
index 50630798f..f6c92b39a 100644
--- a/docs/cmdline-opts/http3.d
+++ b/docs/cmdline-opts/http3.d
@@ -7,8 +7,9 @@ Requires: HTTP/3
Help: Use HTTP v3
See-also: http1.1 http2
Category: http
+Example: --http3 $URL
---
-WARNING: this option is experimental. Do not use in production.
+**WARNING**: this option is experimental. Do not use in production.
Tells curl to use HTTP version 3 directly to the host and port number used in
the URL. A normal HTTP/3 transaction will be done to a host and then get
diff --git a/docs/cmdline-opts/ignore-content-length.d b/docs/cmdline-opts/ignore-content-length.d
index 2555ccaae..8a4c24754 100644
--- a/docs/cmdline-opts/ignore-content-length.d
+++ b/docs/cmdline-opts/ignore-content-length.d
@@ -2,6 +2,7 @@ Long: ignore-content-length
Help: Ignore the size of the remote resource
Protocols: FTP HTTP
Category: http ftp
+Example: --ignore-content-length $URL
---
For HTTP, Ignore the Content-Length header. This is particularly useful for
servers running Apache 1.x, which will report incorrect Content-Length for
diff --git a/docs/cmdline-opts/include.d b/docs/cmdline-opts/include.d
index 250d4accf..80a05e0c8 100644
--- a/docs/cmdline-opts/include.d
+++ b/docs/cmdline-opts/include.d
@@ -3,6 +3,7 @@ Short: i
Help: Include protocol response headers in the output
See-also: verbose
Category: important verbose
+Example: -i $URL
---
Include the HTTP response headers in the output. The HTTP response headers can
include things like server name, cookies, date of the document, HTTP version
diff --git a/docs/cmdline-opts/insecure.d b/docs/cmdline-opts/insecure.d
index 443ddd507..fb2c17d8b 100644
--- a/docs/cmdline-opts/insecure.d
+++ b/docs/cmdline-opts/insecure.d
@@ -4,6 +4,7 @@ Help: Allow insecure server connections when using SSL
Protocols: TLS
See-also: proxy-insecure cacert
Category: tls
+Example: --insecure $URL
---
By default, every SSL connection curl makes is verified to be secure. This
option allows curl to proceed and operate even for server connections
@@ -14,3 +15,5 @@ contains the right name and verifies successfully using the cert store.
See this online resource for further details:
https://curl.se/docs/sslcerts.html
+
+**WARNING**: this makes the transfer insecure.
diff --git a/docs/cmdline-opts/interface.d b/docs/cmdline-opts/interface.d
index 196e7efa3..b2c8eeec5 100644
--- a/docs/cmdline-opts/interface.d
+++ b/docs/cmdline-opts/interface.d
@@ -3,6 +3,7 @@ Arg: <name>
Help: Use network INTERFACE (or address)
See-also: dns-interface
Category: connection
+Example: --interface eth0 $URL
---
Perform an operation using a specified interface. You can enter interface
diff --git a/docs/cmdline-opts/ipv4.d b/docs/cmdline-opts/ipv4.d
index a6691376a..90a6dda00 100644
--- a/docs/cmdline-opts/ipv4.d
+++ b/docs/cmdline-opts/ipv4.d
@@ -8,6 +8,7 @@ Requires:
See-also: http1.1 http2
Help: Resolve names to IPv4 addresses
Category: connection dns
+Example: --ipv4 $URL
---
This option tells curl to resolve names to IPv4 addresses only, and not for
example try IPv6.
diff --git a/docs/cmdline-opts/ipv6.d b/docs/cmdline-opts/ipv6.d
index ce0415caa..dfa79abab 100644
--- a/docs/cmdline-opts/ipv6.d
+++ b/docs/cmdline-opts/ipv6.d
@@ -8,6 +8,7 @@ Requires:
See-also: http1.1 http2
Help: Resolve names to IPv6 addresses
Category: connection dns
+Example: --ipv6 $URL
---
This option tells curl to resolve names to IPv6 addresses only, and not for
example try IPv4.
diff --git a/docs/cmdline-opts/junk-session-cookies.d b/docs/cmdline-opts/junk-session-cookies.d
index 993b77fa8..0cc342c72 100644
--- a/docs/cmdline-opts/junk-session-cookies.d
+++ b/docs/cmdline-opts/junk-session-cookies.d
@@ -4,6 +4,7 @@ Help: Ignore session cookies read from file
Protocols: HTTP
See-also: cookie cookie-jar
Category: http
+Example: --junk-session-cookies -b cookies.txt $URL
---
When curl is told to read cookies from a given file, this option will make it
discard all "session cookies". This will basically have the same effect as if
diff --git a/docs/cmdline-opts/keepalive-time.d b/docs/cmdline-opts/keepalive-time.d
index 41261535c..1b96c4dc5 100644
--- a/docs/cmdline-opts/keepalive-time.d
+++ b/docs/cmdline-opts/keepalive-time.d
@@ -3,6 +3,7 @@ Arg: <seconds>
Help: Interval time for keepalive probes
Added: 7.18.0
Category: connection
+Example: --keepalive-time 20 $URL
---
This option sets the time a connection needs to remain idle before sending
keepalive probes and the time between individual keepalive probes. It is
diff --git a/docs/cmdline-opts/key-type.d b/docs/cmdline-opts/key-type.d
index 50a068676..4baa9afa2 100644
--- a/docs/cmdline-opts/key-type.d
+++ b/docs/cmdline-opts/key-type.d
@@ -3,6 +3,7 @@ Arg: <type>
Help: Private key file type (DER/PEM/ENG)
Protocols: TLS
Category: tls
+Example: --key-type DER --key here $URL
---
Private key file type. Specify which type your --key provided private key
is. DER, PEM, and ENG are supported. If not specified, PEM is assumed.
diff --git a/docs/cmdline-opts/key.d b/docs/cmdline-opts/key.d
index a762e6faf..d7f5e22a6 100644
--- a/docs/cmdline-opts/key.d
+++ b/docs/cmdline-opts/key.d
@@ -3,6 +3,7 @@ Arg: <key>
Protocols: TLS SSH
Help: Private key file name
Category: tls ssh
+Example: --cert certificate --key here $URL
---
Private key file name. Allows you to provide your private key in this separate
file. For SSH, if not specified, curl tries the following candidates in order:
diff --git a/docs/cmdline-opts/krb.d b/docs/cmdline-opts/krb.d
index 7759cfb04..3d9ce999e 100644
--- a/docs/cmdline-opts/krb.d
+++ b/docs/cmdline-opts/krb.d
@@ -4,6 +4,7 @@ Help: Enable Kerberos with security <level>
Protocols: FTP
Requires: Kerberos
Category: ftp
+Example: --krb clear ftp://example.com/
---
Enable Kerberos authentication and use. The level must be entered and should
be one of 'clear', 'safe', 'confidential', or 'private'. Should you use a
diff --git a/docs/cmdline-opts/libcurl.d b/docs/cmdline-opts/libcurl.d
index 40160824a..b7371fffe 100644
--- a/docs/cmdline-opts/libcurl.d
+++ b/docs/cmdline-opts/libcurl.d
@@ -3,6 +3,7 @@ Arg: <file>
Help: Dump libcurl equivalent code of this command line
Added: 7.16.1
Category: curl
+Example: --libcurl client.c $URL
---
Append this option to any ordinary curl command line, and you will get
libcurl-using C source code written to the file that does the equivalent
diff --git a/docs/cmdline-opts/limit-rate.d b/docs/cmdline-opts/limit-rate.d
index 66f5cdaac..7c46e544a 100644
--- a/docs/cmdline-opts/limit-rate.d
+++ b/docs/cmdline-opts/limit-rate.d
@@ -2,6 +2,9 @@ Long: limit-rate
Arg: <speed>
Help: Limit transfer speed to RATE
Category: connection
+Example: --limit-rate 100K $URL
+Example: --limit-rate 1000 $URL
+Example: --limit-rate 10M $URL
---
Specify the maximum transfer rate you want curl to use - for both downloads
and uploads. This feature is useful if you have a limited pipe and you'd like
diff --git a/docs/cmdline-opts/list-only.d b/docs/cmdline-opts/list-only.d
index ac3990692..29f9ba2f3 100644
--- a/docs/cmdline-opts/list-only.d
+++ b/docs/cmdline-opts/list-only.d
@@ -4,6 +4,7 @@ Protocols: FTP POP3
Help: List only mode
Added: 4.0
Category: ftp pop3
+Example: --list-only ftp://example.com/dir/
---
(FTP)
When listing an FTP directory, this switch forces a name-only view. This is
diff --git a/docs/cmdline-opts/local-port.d b/docs/cmdline-opts/local-port.d
index 3f7a0e024..776641700 100644
--- a/docs/cmdline-opts/local-port.d
+++ b/docs/cmdline-opts/local-port.d
@@ -3,6 +3,7 @@ Arg: <num/range>
Help: Force use of RANGE for local port numbers
Added: 7.15.2
Category: connection
+Example: --local-port 1000-3000 $URL
---
Set a preferred single number or range (FROM-TO) of local port numbers to use
for the connection(s). Note that port numbers by nature are a scarce resource
diff --git a/docs/cmdline-opts/location-trusted.d b/docs/cmdline-opts/location-trusted.d
index f01d842bc..98c49ffe1 100644
--- a/docs/cmdline-opts/location-trusted.d
+++ b/docs/cmdline-opts/location-trusted.d
@@ -3,6 +3,7 @@ Help: Like --location, and send auth to other hosts
Protocols: HTTP
See-also: user
Category: http auth
+Example: --location-trusted -u user:password $URL
---
Like --location, but will allow sending the name + password to all hosts that
the site may redirect to. This may or may not introduce a security breach if
diff --git a/docs/cmdline-opts/location.d b/docs/cmdline-opts/location.d
index 6bf763d3a..08c939c15 100644
--- a/docs/cmdline-opts/location.d
+++ b/docs/cmdline-opts/location.d
@@ -3,6 +3,7 @@ Short: L
Help: Follow redirects
Protocols: HTTP
Category: http
+Example: -L $URL
---
If the server reports that the requested page has moved to a different
location (indicated with a Location: header and a 3XX response code), this
diff --git a/docs/cmdline-opts/login-options.d b/docs/cmdline-opts/login-options.d
index b12246885..de7728854 100644
--- a/docs/cmdline-opts/login-options.d
+++ b/docs/cmdline-opts/login-options.d
@@ -4,6 +4,7 @@ Protocols: IMAP POP3 SMTP
Help: Server login options
Added: 7.34.0
Category: imap pop3 smtp auth
+Example: --login-options 'AUTH=*' imap://example.com
---
Specify the login options to use during server authentication.
diff --git a/docs/cmdline-opts/mail-auth.d b/docs/cmdline-opts/mail-auth.d
index 529997161..49a02d5ba 100644
--- a/docs/cmdline-opts/mail-auth.d
+++ b/docs/cmdline-opts/mail-auth.d
@@ -5,6 +5,7 @@ Help: Originator address of the original email
Added: 7.25.0
See-also: mail-rcpt mail-from
Category: smtp
+Example: --mail-auth user@example.come -T mail smtp://example.com/
---
Specify a single address. This will be used to specify the authentication
address (identity) of a submitted message that is being relayed to another
diff --git a/docs/cmdline-opts/mail-from.d b/docs/cmdline-opts/mail-from.d
index faf48e2a4..be0547c9f 100644
--- a/docs/cmdline-opts/mail-from.d
+++ b/docs/cmdline-opts/mail-from.d
@@ -5,5 +5,6 @@ Protocols: SMTP
Added: 7.20.0
See-also: mail-rcpt mail-auth
Category: smtp
+Example: --mail-from user@example.com -T mail smtp://example.com/
---
Specify a single address that the given mail should get sent from.
diff --git a/docs/cmdline-opts/mail-rcpt-allowfails.d b/docs/cmdline-opts/mail-rcpt-allowfails.d
index e96be3e71..36d555e17 100644
--- a/docs/cmdline-opts/mail-rcpt-allowfails.d
+++ b/docs/cmdline-opts/mail-rcpt-allowfails.d
@@ -3,6 +3,7 @@ Help: Allow RCPT TO command to fail for some recipients
Protocols: SMTP
Added: 7.69.0
Category: smtp
+Example: --mail-rcpt-allowfails --mail-rcpt dest@example.com smtp://example.com
---
When sending data to multiple recipients, by default curl will abort SMTP
conversation if at least one of the recipients causes RCPT TO command to
diff --git a/docs/cmdline-opts/mail-rcpt.d b/docs/cmdline-opts/mail-rcpt.d
index d464bb41b..d4a2502ee 100644
--- a/docs/cmdline-opts/mail-rcpt.d
+++ b/docs/cmdline-opts/mail-rcpt.d
@@ -4,6 +4,7 @@ Help: Mail to this address
Protocols: SMTP
Added: 7.20.0
Category: smtp
+Example: --mail-rcpt user@example.net smtp://example.com
---
Specify a single e-mail address, user name or mailing list name. Repeat this
option several times to send to multiple recipients.
diff --git a/docs/cmdline-opts/manual.d b/docs/cmdline-opts/manual.d
index 25ed08dd2..c81754b7a 100644
--- a/docs/cmdline-opts/manual.d
+++ b/docs/cmdline-opts/manual.d
@@ -2,5 +2,6 @@ Long: manual
Short: M
Help: Display the full manual
Category: curl
+Example: --manual
---
Manual. Display the huge help text.
diff --git a/docs/cmdline-opts/max-filesize.d b/docs/cmdline-opts/max-filesize.d
index 6717f2d95..0f8aca42e 100644
--- a/docs/cmdline-opts/max-filesize.d
+++ b/docs/cmdline-opts/max-filesize.d
@@ -4,6 +4,7 @@ Help: Maximum file size to download
Protocols: FTP HTTP MQTT
See-also: limit-rate
Category: connection
+Example: --max-filesize 100K $URL
---
Specify the maximum size (in bytes) of a file to download. If the file
requested is larger than this value, the transfer will not start and curl will
diff --git a/docs/cmdline-opts/max-redirs.d b/docs/cmdline-opts/max-redirs.d
index 1b5de5bc1..eade17f7b 100644
--- a/docs/cmdline-opts/max-redirs.d
+++ b/docs/cmdline-opts/max-redirs.d
@@ -3,6 +3,7 @@ Arg: <num>
Help: Maximum number of redirects allowed
Protocols: HTTP
Category: http
+Example: --max-redirs 3 --location $URL
---
Set maximum number of redirections to follow. When --location is used, to
prevent curl from following too many redirects, by default, the limit is
diff --git a/docs/cmdline-opts/max-time.d b/docs/cmdline-opts/max-time.d
index c4e4ed7eb..cb86fa9fc 100644
--- a/docs/cmdline-opts/max-time.d
+++ b/docs/cmdline-opts/max-time.d
@@ -1,9 +1,11 @@
Long: max-time
Short: m
-Arg: <seconds>
-Help: Maximum time allowed for the transfer
+Arg: <fractional seconds>
+Help: Maximum time allowed for transfer
See-also: connect-timeout
Category: connection
+Example: --max-time 10 $URL
+Example: --max-time 2.92 $URL
---
Maximum time in seconds that you allow the whole operation to take. This is
useful for preventing your batch jobs from hanging for hours due to slow
diff --git a/docs/cmdline-opts/metalink.d b/docs/cmdline-opts/metalink.d
index 4725b389a..1fc108742 100644
--- a/docs/cmdline-opts/metalink.d
+++ b/docs/cmdline-opts/metalink.d
@@ -2,6 +2,7 @@ Long: metalink
Help: Process given URLs as metalink XML file
Added: 7.27.0
Category: misc
+Example: --metalink file $URL
---
This option was previously used to specify a metalink resource. Metalink
support has been disabled in curl since 7.78.0 for security reasons.
diff --git a/docs/cmdline-opts/negotiate.d b/docs/cmdline-opts/negotiate.d
index e247bfbee..e862bc820 100644
--- a/docs/cmdline-opts/negotiate.d
+++ b/docs/cmdline-opts/negotiate.d
@@ -3,6 +3,7 @@ Help: Use HTTP Negotiate (SPNEGO) authentication
Protocols: HTTP
See-also: basic ntlm anyauth proxy-negotiate
Category: auth http
+Example: --negotiate -u : $URL
---
Enables Negotiate (SPNEGO) authentication.
diff --git a/docs/cmdline-opts/netrc-file.d b/docs/cmdline-opts/netrc-file.d
index 95fb2654a..df89d51f5 100644
--- a/docs/cmdline-opts/netrc-file.d
+++ b/docs/cmdline-opts/netrc-file.d
@@ -4,6 +4,7 @@ Arg: <filename>
Added: 7.21.5
Mutexed: netrc
Category: curl
+Example: --netrc-file netrc $URL
---
This option is similar to --netrc, except that you provide the path (absolute
or relative) to the netrc file that curl should use. You can only specify one
diff --git a/docs/cmdline-opts/netrc-optional.d b/docs/cmdline-opts/netrc-optional.d
index e0b59d19b..3869a2009 100644
--- a/docs/cmdline-opts/netrc-optional.d
+++ b/docs/cmdline-opts/netrc-optional.d
@@ -3,6 +3,7 @@ Help: Use either .netrc or URL
Mutexed: netrc
See-also: netrc-file
Category: curl
+Example: --netrc-optional $URL
---
Very similar to --netrc, but this option makes the .netrc usage **optional**
and not mandatory as the --netrc option does.
diff --git a/docs/cmdline-opts/netrc.d b/docs/cmdline-opts/netrc.d
index a31e2ede3..21e33a164 100644
--- a/docs/cmdline-opts/netrc.d
+++ b/docs/cmdline-opts/netrc.d
@@ -2,6 +2,7 @@ Long: netrc
Short: n
Help: Must read .netrc for user name and password
Category: curl
+Example: --netrc $URL
---
Makes curl scan the *.netrc* (*_netrc* on Windows) file in the user's home
directory for login name and password. This is typically used for FTP on
diff --git a/docs/cmdline-opts/next.d b/docs/cmdline-opts/next.d
index 1adcc7535..bcbad68e5 100644
--- a/docs/cmdline-opts/next.d
+++ b/docs/cmdline-opts/next.d
@@ -6,6 +6,8 @@ Added: 7.36.0
Magic: divider
Help: Make next URL use its separate set of options
Category: curl
+Example: $URL --next -d postthis www2.example.com
+Example: -I $URL --next https://example.net/
---
Tells curl to use a separate operation for the following URL and associated
options. This allows you to send several URL requests, each with their own
@@ -18,4 +20,6 @@ options include --verbose, --trace, --trace-ascii and --fail-early.
For example, you can do both a GET and a POST in a single command line:
+.nf
curl www1.example.com --next -d postthis www2.example.com
+.fi
diff --git a/docs/cmdline-opts/no-alpn.d b/docs/cmdline-opts/no-alpn.d
index 8031b4f07..bc6207632 100644
--- a/docs/cmdline-opts/no-alpn.d
+++ b/docs/cmdline-opts/no-alpn.d
@@ -6,6 +6,7 @@ See-also: no-npn http2
Requires: TLS
Help: Disable the ALPN TLS extension
Category: tls http
+Example: --no-alpn $URL
---
Disable the ALPN TLS extension. ALPN is enabled by default if libcurl was built
with an SSL library that supports ALPN. ALPN is used by a libcurl that supports
diff --git a/docs/cmdline-opts/no-buffer.d b/docs/cmdline-opts/no-buffer.d
index 1079f4712..fe8da4e96 100644
--- a/docs/cmdline-opts/no-buffer.d
+++ b/docs/cmdline-opts/no-buffer.d
@@ -2,6 +2,7 @@ Long: no-buffer
Short: N
Help: Disable buffering of the output stream
Category: curl
+Example: --no-buffer $URL
---
Disables the buffering of the output stream. In normal work situations, curl
will use a standard buffered output stream that will have the effect that it
diff --git a/docs/cmdline-opts/no-keepalive.d b/docs/cmdline-opts/no-keepalive.d
index 72f3bc9a5..a264b7ac5 100644
--- a/docs/cmdline-opts/no-keepalive.d
+++ b/docs/cmdline-opts/no-keepalive.d
@@ -1,6 +1,7 @@
Long: no-keepalive
Help: Disable TCP keepalive on the connection
Category: connection
+Example: --no-keepalive $URL
---
Disables the use of keepalive messages on the TCP connection. curl otherwise
enables them by default.
diff --git a/docs/cmdline-opts/no-npn.d b/docs/cmdline-opts/no-npn.d
index 27e5974bd..7a9239d36 100644
--- a/docs/cmdline-opts/no-npn.d
+++ b/docs/cmdline-opts/no-npn.d
@@ -7,6 +7,7 @@ See-also: no-alpn http2
Requires: TLS
Help: Disable the NPN TLS extension
Category: tls http
+Example: --no-npn $URL
---
Disable the NPN TLS extension. NPN is enabled by default if libcurl was built
with an SSL library that supports NPN. NPN is used by a libcurl that supports
diff --git a/docs/cmdline-opts/no-progress-meter.d b/docs/cmdline-opts/no-progress-meter.d
index bf28d635d..9c7413eeb 100644
--- a/docs/cmdline-opts/no-progress-meter.d
+++ b/docs/cmdline-opts/no-progress-meter.d
@@ -3,6 +3,7 @@ Help: Do not show the progress meter
See-also: verbose silent
Added: 7.67.0
Category: verbose
+Example: --no-progress-meter -o store $URL
---
Option to switch off the progress meter output without muting or otherwise
affecting warning and informational messages like --silent does.
diff --git a/docs/cmdline-opts/no-sessionid.d b/docs/cmdline-opts/no-sessionid.d
index 013ca4cb4..70a32210e 100644
--- a/docs/cmdline-opts/no-sessionid.d
+++ b/docs/cmdline-opts/no-sessionid.d
@@ -3,6 +3,7 @@ Help: Disable SSL session-ID reusing
Protocols: TLS
Added: 7.16.0
Category: tls
+Example: --no-sessionid $URL
---
Disable curl's use of SSL session-ID caching. By default all transfers are
done using the cache. Note that while nothing should ever get hurt by
diff --git a/docs/cmdline-opts/noproxy.d b/docs/cmdline-opts/noproxy.d
index c49e6d180..ee0978e03 100644
--- a/docs/cmdline-opts/noproxy.d
+++ b/docs/cmdline-opts/noproxy.d
@@ -3,6 +3,7 @@ Arg: <no-proxy-list>
Help: List of hosts which do not use proxy
Added: 7.19.4
Category: proxy
+Example: --noproxy "www.example" $URL
---
Comma-separated list of hosts for which not to use a proxy, if one is
specified. The only wildcard is a single * character, which matches all hosts,
diff --git a/docs/cmdline-opts/ntlm-wb.d b/docs/cmdline-opts/ntlm-wb.d
index 4a2f7e1e6..890137062 100644
--- a/docs/cmdline-opts/ntlm-wb.d
+++ b/docs/cmdline-opts/ntlm-wb.d
@@ -3,6 +3,7 @@ Help: Use HTTP NTLM authentication with winbind
Protocols: HTTP
See-also: ntlm proxy-ntlm
Category: auth http
+Example: --ntlm-wb -u user:password $URL
---
Enables NTLM much in the style --ntlm does, but hand over the authentication
to the separate binary ntlmauth application that is executed when needed.
diff --git a/docs/cmdline-opts/ntlm.d b/docs/cmdline-opts/ntlm.d
index c63c086eb..5a5063267 100644
--- a/docs/cmdline-opts/ntlm.d
+++ b/docs/cmdline-opts/ntlm.d
@@ -5,6 +5,7 @@ See-also: proxy-ntlm
Protocols: HTTP
Requires: TLS
Category: auth http
+Example: --ntlm -u user:password $URL
---
Enables NTLM authentication. The NTLM authentication method was designed by
Microsoft and is used by IIS web servers. It is a proprietary protocol,
diff --git a/docs/cmdline-opts/oauth2-bearer.d b/docs/cmdline-opts/oauth2-bearer.d
index e0ea210ed..1662a366c 100644
--- a/docs/cmdline-opts/oauth2-bearer.d
+++ b/docs/cmdline-opts/oauth2-bearer.d
@@ -3,6 +3,7 @@ Help: OAuth 2 Bearer Token
Arg: <token>
Protocols: IMAP POP3 SMTP HTTP
Category: auth
+Example: --oauth2-bearer "mF_9.B5f-4.1JqM" $URL
---
Specify the Bearer Token for OAUTH 2.0 server authentication. The Bearer Token
is used in conjunction with the user name which can be specified as part of
diff --git a/docs/cmdline-opts/output-dir.d b/docs/cmdline-opts/output-dir.d
index d2ff7738e..1664f4590 100644
--- a/docs/cmdline-opts/output-dir.d
+++ b/docs/cmdline-opts/output-dir.d
@@ -4,6 +4,7 @@ Help: Directory to save files in
Added: 7.73.0
See-also: remote-name remote-header-name
Category: curl
+Example: --output-dir "tmp" -O $URL
---
This option specifies the directory in which files should be stored, when
diff --git a/docs/cmdline-opts/output.d b/docs/cmdline-opts/output.d
index d639a2351..ce9749d5d 100644
--- a/docs/cmdline-opts/output.d
+++ b/docs/cmdline-opts/output.d
@@ -4,6 +4,10 @@ Short: o
Help: Write to file instead of stdout
See-also: remote-name remote-name-all remote-header-name
Category: important curl
+Example: -o file $URL
+Example: "http://{one,two}.example.com" -o "file_#1.txt"
+Example: "http://{site,host}.host[1-5].com" -o "#1_#2"
+Example: -o file $URL -o file2 https://example.net
---
Write output to <file> instead of stdout. If you are using {} or [] to fetch
multiple documents, you should quote the URL and you can use '#' followed by a
diff --git a/docs/cmdline-opts/parallel-immediate.d b/docs/cmdline-opts/parallel-immediate.d
index 47b9a7900..4f7468de6 100644
--- a/docs/cmdline-opts/parallel-immediate.d
+++ b/docs/cmdline-opts/parallel-immediate.d
@@ -3,6 +3,7 @@ Help: Do not wait for multiplexing (with --parallel)
Added: 7.68.0
See-also: parallel parallel-max
Category: connection curl
+Example: --parallel-immediate -Z $URL -o file1 $URL -o file2
---
When doing parallel transfers, this option will instruct curl that it should
rather prefer opening up more connections in parallel at once rather than
diff --git a/docs/cmdline-opts/parallel-max.d b/docs/cmdline-opts/parallel-max.d
index 9ec807cdd..1f22fcb7d 100644
--- a/docs/cmdline-opts/parallel-max.d
+++ b/docs/cmdline-opts/parallel-max.d
@@ -4,6 +4,7 @@ Help: Maximum concurrency for parallel transfers
Added: 7.66.0
See-also: parallel
Category: connection curl
+Example: --parallel-max 100 -Z $URL ftp://example.com/
---
When asked to do parallel transfers, using --parallel, this option controls
the maximum amount of transfers to do simultaneously.
diff --git a/docs/cmdline-opts/parallel.d b/docs/cmdline-opts/parallel.d
index d49158c24..2a0ca4340 100644
--- a/docs/cmdline-opts/parallel.d
+++ b/docs/cmdline-opts/parallel.d
@@ -3,6 +3,7 @@ Long: parallel
Help: Perform transfers in parallel
Added: 7.66.0
Category: connection curl
+Example: --parallel $URL -o file1 $URL -o file2
---
Makes curl perform its transfers in parallel as compared to the regular serial
manner.
diff --git a/docs/cmdline-opts/pass.d b/docs/cmdline-opts/pass.d
index e3fb97ae6..58e355827 100644
--- a/docs/cmdline-opts/pass.d
+++ b/docs/cmdline-opts/pass.d
@@ -3,6 +3,7 @@ Arg: <phrase>
Help: Pass phrase for the private key
Protocols: SSH TLS
Category: ssh tls auth
+Example: --pass secret --key file $URL
---
Passphrase for the private key.
diff --git a/docs/cmdline-opts/path-as-is.d b/docs/cmdline-opts/path-as-is.d
index 0bfaf6639..fb87def94 100644
--- a/docs/cmdline-opts/path-as-is.d
+++ b/docs/cmdline-opts/path-as-is.d
@@ -2,6 +2,7 @@ Long: path-as-is
Help: Do not squash .. sequences in URL path
Added: 7.42.0
Category: curl
+Example: --path-as-is https://example.com/../../etc/passwd
---
Tell curl to not handle sequences of /../ or /./ in the given URL
path. Normally curl will squash or merge them according to standards but with
diff --git a/docs/cmdline-opts/pinnedpubkey.d b/docs/cmdline-opts/pinnedpubkey.d
index 4e0ed5edd..dc98b29f8 100644
--- a/docs/cmdline-opts/pinnedpubkey.d
+++ b/docs/cmdline-opts/pinnedpubkey.d
@@ -3,6 +3,8 @@ Arg: <hashes>
Help: FILE/HASHES Public key to verify peer against
Protocols: TLS
Category: tls
+Example: --pinnedpubkey keyfile $URL
+Example: --pinnedpubkey 'sha256//ce118b51897f4452dc' $URL
---
Tells curl to use the specified public key file (or hashes) to verify the
peer. This can be a path to a file which contains a single public key in PEM
diff --git a/docs/cmdline-opts/post301.d b/docs/cmdline-opts/post301.d
index 64ead0536..744ef5813 100644
--- a/docs/cmdline-opts/post301.d
+++ b/docs/cmdline-opts/post301.d
@@ -4,6 +4,7 @@ Protocols: HTTP
See-also: post302 post303 location
Added: 7.17.1
Category: http post
+Example: --post301 --location -d "data" $URL
---
Tells curl to respect RFC 7231/6.4.2 and not convert POST requests into GET
requests when following a 301 redirection. The non-RFC behavior is ubiquitous
diff --git a/docs/cmdline-opts/post302.d b/docs/cmdline-opts/post302.d
index d73cb9dcd..2c6d4b615 100644
--- a/docs/cmdline-opts/post302.d
+++ b/docs/cmdline-opts/post302.d
@@ -4,6 +4,7 @@ Protocols: HTTP
See-also: post301 post303 location
Added: 7.19.1
Category: http post
+Example: --post302 --location -d "data" $URL
---
Tells curl to respect RFC 7231/6.4.3 and not convert POST requests into GET
requests when following a 302 redirection. The non-RFC behavior is ubiquitous
diff --git a/docs/cmdline-opts/post303.d b/docs/cmdline-opts/post303.d
index 1a67e13ef..a2fec18c4 100644
--- a/docs/cmdline-opts/post303.d
+++ b/docs/cmdline-opts/post303.d
@@ -4,6 +4,7 @@ Protocols: HTTP
See-also: post302 post301 location
Added: 7.26.0
Category: http post
+Example: --post303 --location -d "data" $URL
---
Tells curl to violate RFC 7231/6.4.4 and not convert POST requests into GET
requests when following 303 redirections. A server may require a POST to
diff --git a/docs/cmdline-opts/preproxy.d b/docs/cmdline-opts/preproxy.d
index a917c16ed..c91565c0e 100644
--- a/docs/cmdline-opts/preproxy.d
+++ b/docs/cmdline-opts/preproxy.d
@@ -3,6 +3,7 @@ Arg: [protocol://]host[:port]
Help: Use this proxy first
Added: 7.52.0
Category: proxy
+Example: --preproxy socks5://proxy.example -x http://http.example $URL
---
Use the specified SOCKS proxy before connecting to an HTTP or HTTPS --proxy. In
such a case curl first connects to the SOCKS proxy and then connects (through
diff --git a/docs/cmdline-opts/progress-bar.d b/docs/cmdline-opts/progress-bar.d
index ad2f21b87..96ac3009b 100644
--- a/docs/cmdline-opts/progress-bar.d
+++ b/docs/cmdline-opts/progress-bar.d
@@ -2,6 +2,7 @@ Short: #
Long: progress-bar
Help: Display transfer progress as a bar
Category: verbose
+Example: -# -O $URL
---
Make curl display transfer progress as a simple progress bar instead of the
standard, more informational, meter.
diff --git a/docs/cmdline-opts/proto-default.d b/docs/cmdline-opts/proto-default.d
index 74d3932cf..a659b840d 100644
--- a/docs/cmdline-opts/proto-default.d
+++ b/docs/cmdline-opts/proto-default.d
@@ -3,17 +3,14 @@ Help: Use PROTOCOL for any URL missing a scheme
Arg: <protocol>
Added: 7.45.0
Category: connection curl
+Example: --proto-default https ftp.example.com
---
Tells curl to use *protocol* for any URL missing a scheme name.
-Example:
-
- curl --proto-default https ftp.mozilla.org
-
An unknown or unsupported protocol causes error
*CURLE_UNSUPPORTED_PROTOCOL* (1).
This option does not change the default proxy protocol (http).
-Without this option curl would make a guess based on the host, see --url for
-details.
+Without this option set, curl guesses protocol based on the host name, see
+--url for details.
diff --git a/docs/cmdline-opts/proto-redir.d b/docs/cmdline-opts/proto-redir.d
index 10580ad83..81d495dd8 100644
--- a/docs/cmdline-opts/proto-redir.d
+++ b/docs/cmdline-opts/proto-redir.d
@@ -3,6 +3,7 @@ Arg: <protocols>
Help: Enable/disable PROTOCOLS on redirect
Added: 7.20.2
Category: connection curl
+Example: --proto-redir =http,https $URL
---
Tells curl to limit what protocols it may use on redirect. Protocols denied by
--proto are not overridden by this option. See --proto for how protocols are
diff --git a/docs/cmdline-opts/proto.d b/docs/cmdline-opts/proto.d
index 1e269a56c..6ff52c417 100644
--- a/docs/cmdline-opts/proto.d
+++ b/docs/cmdline-opts/proto.d
@@ -4,6 +4,7 @@ Help: Enable/disable PROTOCOLS
See-also: proto-redir proto-default
Added: 7.20.2
Category: connection curl
+Example: --proto =http,https,sftp $URL
---
Tells curl to limit what protocols it may use for transfers. Protocols are
evaluated left to right, are comma separated, and are each a protocol name or
diff --git a/docs/cmdline-opts/proxy-anyauth.d b/docs/cmdline-opts/proxy-anyauth.d
index 6410c0e6a..80f2b9701 100644
--- a/docs/cmdline-opts/proxy-anyauth.d
+++ b/docs/cmdline-opts/proxy-anyauth.d
@@ -3,6 +3,7 @@ Help: Pick any proxy authentication method
Added: 7.13.2
See-also: proxy proxy-basic proxy-digest
Category: proxy auth
+Example: --proxy-anyauth --proxy-user user:passwd -x proxy $URL
---
Tells curl to pick a suitable authentication method when communicating with
the given HTTP proxy. This might cause an extra request/response round-trip.
diff --git a/docs/cmdline-opts/proxy-basic.d b/docs/cmdline-opts/proxy-basic.d
index e842f9900..6d38c733a 100644
--- a/docs/cmdline-opts/proxy-basic.d
+++ b/docs/cmdline-opts/proxy-basic.d
@@ -2,6 +2,7 @@ Long: proxy-basic
Help: Use Basic authentication on the proxy
See-also: proxy proxy-anyauth proxy-digest
Category: proxy auth
+Example: --proxy-basic --proxy-user user:passwd -x proxy $URL
---
Tells curl to use HTTP Basic authentication when communicating with the given
proxy. Use --basic for enabling HTTP Basic with a remote host. Basic is the
diff --git a/docs/cmdline-opts/proxy-cacert.d b/docs/cmdline-opts/proxy-cacert.d
index bbc731a28..5c3294475 100644
--- a/docs/cmdline-opts/proxy-cacert.d
+++ b/docs/cmdline-opts/proxy-cacert.d
@@ -4,5 +4,6 @@ Arg: <file>
Added: 7.52.0
See-also: proxy-capath cacert capath proxy
Category: proxy tls
+Example: --proxy-cacert CA-file.txt -x https://proxy $URL
---
Same as --cacert but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-capath.d b/docs/cmdline-opts/proxy-capath.d
index cc342b755..0429984f2 100644
--- a/docs/cmdline-opts/proxy-capath.d
+++ b/docs/cmdline-opts/proxy-capath.d
@@ -4,5 +4,6 @@ Arg: <dir>
Added: 7.52.0
See-also: proxy-cacert proxy capath
Category: proxy tls
+Example: --proxy-capath /local/directory -x https://proxy $URL
---
Same as --capath but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-cert-type.d b/docs/cmdline-opts/proxy-cert-type.d
index fb7596c17..2152f537d 100644
--- a/docs/cmdline-opts/proxy-cert-type.d
+++ b/docs/cmdline-opts/proxy-cert-type.d
@@ -3,5 +3,6 @@ Arg: <type>
Added: 7.52.0
Help: Client certificate type for HTTPS proxy
Category: proxy tls
+Example: --proxy-cert-type PEM --proxy-cert file -x https://proxy $URL
---
Same as --cert-type but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-cert.d b/docs/cmdline-opts/proxy-cert.d
index 7df2712f3..3cf54b73f 100644
--- a/docs/cmdline-opts/proxy-cert.d
+++ b/docs/cmdline-opts/proxy-cert.d
@@ -3,5 +3,6 @@ Arg: <cert[:passwd]>
Help: Set client certificate for proxy
Added: 7.52.0
Category: proxy tls
+Example: --proxy-cert file -x https://proxy $URL
---
Same as --cert but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-ciphers.d b/docs/cmdline-opts/proxy-ciphers.d
index 366555673..b4c358091 100644
--- a/docs/cmdline-opts/proxy-ciphers.d
+++ b/docs/cmdline-opts/proxy-ciphers.d
@@ -3,5 +3,6 @@ Arg: <list>
Help: SSL ciphers to use for proxy
Added: 7.52.0
Category: proxy tls
+Example: --proxy-ciphers ECDHE-ECDSA-AES256-CCM8 -x https://proxy $URL
---
Same as --ciphers but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-crlfile.d b/docs/cmdline-opts/proxy-crlfile.d
index 580dc50ce..1ac199965 100644
--- a/docs/cmdline-opts/proxy-crlfile.d
+++ b/docs/cmdline-opts/proxy-crlfile.d
@@ -3,5 +3,6 @@ Arg: <file>
Help: Set a CRL list for proxy
Added: 7.52.0
Category: proxy tls
+Example: --proxy-crlfile rejects.txt -x https://proxy $URL
---
Same as --crlfile but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-digest.d b/docs/cmdline-opts/proxy-digest.d
index 52f1fcc67..cc1870236 100644
--- a/docs/cmdline-opts/proxy-digest.d
+++ b/docs/cmdline-opts/proxy-digest.d
@@ -2,6 +2,7 @@ Long: proxy-digest
Help: Use Digest authentication on the proxy
See-also: proxy proxy-anyauth proxy-basic
Category: proxy tls
+Example: --proxy-digest --proxy-user user:passwd -x proxy $URL
---
Tells curl to use HTTP Digest authentication when communicating with the given
proxy. Use --digest for enabling HTTP Digest with a remote host.
diff --git a/docs/cmdline-opts/proxy-header.d b/docs/cmdline-opts/proxy-header.d
index c2b0928f9..273a773d9 100644
--- a/docs/cmdline-opts/proxy-header.d
+++ b/docs/cmdline-opts/proxy-header.d
@@ -4,6 +4,9 @@ Help: Pass custom header(s) to proxy
Protocols: HTTP
Added: 7.37.0
Category: proxy
+Example: --proxy-header "X-First-Name: Joe" -x http://proxy $URL
+Example: --proxy-header "User-Agent: surprise" -x http://proxy $URL
+Example: --proxy-header "Host:" -x http://proxy $URL
---
Extra header to include in the request when sending HTTP to a proxy. You may
specify any number of extra headers. This is the equivalent option to --header
diff --git a/docs/cmdline-opts/proxy-insecure.d b/docs/cmdline-opts/proxy-insecure.d
index e123f4019..3f4f7c180 100644
--- a/docs/cmdline-opts/proxy-insecure.d
+++ b/docs/cmdline-opts/proxy-insecure.d
@@ -2,5 +2,6 @@ Long: proxy-insecure
Help: Do HTTPS proxy connections without verifying the proxy
Added: 7.52.0
Category: proxy tls
+Example: --proxy-insecure -x https://proxy $URL
---
Same as --insecure but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-key-type.d b/docs/cmdline-opts/proxy-key-type.d
index 1906872ef..31f47afa4 100644
--- a/docs/cmdline-opts/proxy-key-type.d
+++ b/docs/cmdline-opts/proxy-key-type.d
@@ -3,5 +3,6 @@ Arg: <type>
Help: Private key file type for proxy
Added: 7.52.0
Category: proxy tls
+Example: --proxy-key-type DER --proxy-key here -x https://proxy $URL
---
Same as --key-type but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-key.d b/docs/cmdline-opts/proxy-key.d
index 57d469f43..1b9797307 100644
--- a/docs/cmdline-opts/proxy-key.d
+++ b/docs/cmdline-opts/proxy-key.d
@@ -2,5 +2,6 @@ Long: proxy-key
Help: Private key for HTTPS proxy
Arg: <key>
Category: proxy tls
+Example: --proxy-key here -x https://proxy $URL
---
Same as --key but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-negotiate.d b/docs/cmdline-opts/proxy-negotiate.d
index 72f35960e..5085a7cb3 100644
--- a/docs/cmdline-opts/proxy-negotiate.d
+++ b/docs/cmdline-opts/proxy-negotiate.d
@@ -3,6 +3,7 @@ Help: Use HTTP Negotiate (SPNEGO) authentication on the proxy
Added: 7.17.1
See-also: proxy-anyauth proxy-basic
Category: proxy auth
+Example: --proxy-negotiate --proxy-user user:passwd -x proxy $URL
---
Tells curl to use HTTP Negotiate (SPNEGO) authentication when communicating
with the given proxy. Use --negotiate for enabling HTTP Negotiate (SPNEGO)
diff --git a/docs/cmdline-opts/proxy-ntlm.d b/docs/cmdline-opts/proxy-ntlm.d
index cb1ba7b00..074b7df85 100644
--- a/docs/cmdline-opts/proxy-ntlm.d
+++ b/docs/cmdline-opts/proxy-ntlm.d
@@ -2,6 +2,7 @@ Long: proxy-ntlm
Help: Use NTLM authentication on the proxy
See-also: proxy-negotiate proxy-anyauth
Category: proxy auth
+Example: --proxy-ntlm --proxy-user user:passwd -x http://proxy $URL
---
Tells curl to use HTTP NTLM authentication when communicating with the given
proxy. Use --ntlm for enabling NTLM with a remote host.
diff --git a/docs/cmdline-opts/proxy-pass.d b/docs/cmdline-opts/proxy-pass.d
index 627451bbb..b71468413 100644
--- a/docs/cmdline-opts/proxy-pass.d
+++ b/docs/cmdline-opts/proxy-pass.d
@@ -3,5 +3,6 @@ Arg: <phrase>
Help: Pass phrase for the private key for HTTPS proxy
Added: 7.52.0
Category: proxy tls auth
+Example: --proxy-pass secret --proxy-key here -x https://proxy $URL
---
Same as --pass but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-pinnedpubkey.d b/docs/cmdline-opts/proxy-pinnedpubkey.d
index 2ab79f19e..b7f50a769 100644
--- a/docs/cmdline-opts/proxy-pinnedpubkey.d
+++ b/docs/cmdline-opts/proxy-pinnedpubkey.d
@@ -3,6 +3,8 @@ Arg: <hashes>
Help: FILE/HASHES public key to verify proxy with
Protocols: TLS
Category: proxy tls
+Example: --proxy-pinnedpubkey keyfile $URL
+Example: --proxy-pinnedpubkey 'sha256//ce118b51897f4452dc' $URL
---
Tells curl to use the specified public key file (or hashes) to verify the
proxy. This can be a path to a file which contains a single public key in PEM
diff --git a/docs/cmdline-opts/proxy-service-name.d b/docs/cmdline-opts/proxy-service-name.d
index f78072906..fbed17570 100644
--- a/docs/cmdline-opts/proxy-service-name.d
+++ b/docs/cmdline-opts/proxy-service-name.d
@@ -3,5 +3,6 @@ Arg: <name>
Help: SPNEGO proxy service name
Added: 7.43.0
Category: proxy tls
+Example: --proxy-service-name "shrubbery" -x proxy $URL
---
This option allows you to change the service name for proxy negotiation.
diff --git a/docs/cmdline-opts/proxy-ssl-allow-beast.d b/docs/cmdline-opts/proxy-ssl-allow-beast.d
index 138001b36..b3e701f05 100644
--- a/docs/cmdline-opts/proxy-ssl-allow-beast.d
+++ b/docs/cmdline-opts/proxy-ssl-allow-beast.d
@@ -2,5 +2,6 @@ Long: proxy-ssl-allow-beast
Help: Allow security flaw for interop for HTTPS proxy
Added: 7.52.0
Category: proxy tls
+Example: --proxy-ssl-allow-beast -x https://proxy $URL
---
Same as --ssl-allow-beast but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-ssl-auto-client-cert.d b/docs/cmdline-opts/proxy-ssl-auto-client-cert.d
index 054175457..7c071d7ec 100644
--- a/docs/cmdline-opts/proxy-ssl-auto-client-cert.d
+++ b/docs/cmdline-opts/proxy-ssl-auto-client-cert.d
@@ -2,5 +2,6 @@ Long: proxy-ssl-auto-client-cert
Help: Use auto client certificate for proxy (Schannel)
Added: 7.77.0
Category: proxy tls
+Example: --proxy-ssl-auto-client-cert -x https://proxy $URL
---
Same as --ssl-auto-client-cert but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-tls13-ciphers.d b/docs/cmdline-opts/proxy-tls13-ciphers.d
index 9f03f135e..62578f7f4 100644
--- a/docs/cmdline-opts/proxy-tls13-ciphers.d
+++ b/docs/cmdline-opts/proxy-tls13-ciphers.d
@@ -3,6 +3,7 @@ Arg: <ciphersuite list>
help: TLS 1.3 proxy cipher suites
Protocols: TLS
Category: proxy tls
+Example: --proxy-tls13-ciphers TLS_AES_128_GCM_SHA256 -x proxy $URL
---
Specifies which cipher suites to use in the connection to your HTTPS proxy
when it negotiates TLS 1.3. The list of ciphers suites must specify valid
diff --git a/docs/cmdline-opts/proxy-tlsauthtype.d b/docs/cmdline-opts/proxy-tlsauthtype.d
index 5649a0f5f..c00928ed5 100644
--- a/docs/cmdline-opts/proxy-tlsauthtype.d
+++ b/docs/cmdline-opts/proxy-tlsauthtype.d
@@ -3,5 +3,6 @@ Arg: <type>
Help: TLS authentication type for HTTPS proxy
Added: 7.52.0
Category: proxy tls auth
+Example: --proxy-tlsauthtype SRP -x https://proxy $URL
---
Same as --tlsauthtype but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-tlspassword.d b/docs/cmdline-opts/proxy-tlspassword.d
index 38a33d45d..89b551d68 100644
--- a/docs/cmdline-opts/proxy-tlspassword.d
+++ b/docs/cmdline-opts/proxy-tlspassword.d
@@ -3,5 +3,6 @@ Arg: <string>
Help: TLS password for HTTPS proxy
Added: 7.52.0
Category: proxy tls auth
+Example: --proxy-tlspassword passwd -x https://proxy $URL
---
Same as --tlspassword but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-tlsuser.d b/docs/cmdline-opts/proxy-tlsuser.d
index 587f7f510..b3c400ed5 100644
--- a/docs/cmdline-opts/proxy-tlsuser.d
+++ b/docs/cmdline-opts/proxy-tlsuser.d
@@ -3,5 +3,6 @@ Arg: <name>
Help: TLS username for HTTPS proxy
Added: 7.52.0
Category: proxy tls auth
+Example: --proxy-tlsuser smith -x https://proxy $URL
---
Same as --tlsuser but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-tlsv1.d b/docs/cmdline-opts/proxy-tlsv1.d
index 5003f5f70..c54782e8f 100644
--- a/docs/cmdline-opts/proxy-tlsv1.d
+++ b/docs/cmdline-opts/proxy-tlsv1.d
@@ -2,5 +2,6 @@ Long: proxy-tlsv1
Help: Use TLSv1 for HTTPS proxy
Added: 7.52.0
Category: proxy tls auth
+Example: --proxy-tlsv1 -x https://proxy $URL
---
Same as --tlsv1 but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-user.d b/docs/cmdline-opts/proxy-user.d
index 82fc5170f..81d29f2ab 100644
--- a/docs/cmdline-opts/proxy-user.d
+++ b/docs/cmdline-opts/proxy-user.d
@@ -3,6 +3,7 @@ Short: U
Arg: <user:password>
Help: Proxy user and password
Category: proxy auth
+Example: --proxy-user name:pwd -x proxy $URL
---
Specify the user name and password to use for proxy authentication.
diff --git a/docs/cmdline-opts/proxy.d b/docs/cmdline-opts/proxy.d
index 0592f13ba..81d9bc952 100644
--- a/docs/cmdline-opts/proxy.d
+++ b/docs/cmdline-opts/proxy.d
@@ -3,6 +3,7 @@ Short: x
Arg: [protocol://]host[:port]
Help: Use this proxy
Category: proxy
+Example: --proxy http://proxy.example $URL
---
Use the specified proxy.
diff --git a/docs/cmdline-opts/proxy1.0.d b/docs/cmdline-opts/proxy1.0.d
index b8a232bf7..f74834567 100644
--- a/docs/cmdline-opts/proxy1.0.d
+++ b/docs/cmdline-opts/proxy1.0.d
@@ -2,6 +2,7 @@ Long: proxy1.0
Arg: <host[:port]>
Help: Use HTTP/1.0 proxy on given port
Category: proxy
+Example: --proxy1.0 -x http://proxy $URL
---
Use the specified HTTP 1.0 proxy. If the port number is not specified, it is
assumed at port 1080.
diff --git a/docs/cmdline-opts/proxytunnel.d b/docs/cmdline-opts/proxytunnel.d
index 94dae992f..712c755a8 100644
--- a/docs/cmdline-opts/proxytunnel.d
+++ b/docs/cmdline-opts/proxytunnel.d
@@ -3,6 +3,7 @@ Short: p
Help: Operate through an HTTP proxy tunnel (using CONNECT)
See-also: proxy
Category: proxy
+Example: --proxytunnel -x http://proxy $URL
---
When an HTTP proxy is used --proxy, this option will make curl tunnel through
the proxy. The tunnel approach is made with the HTTP proxy CONNECT request and
diff --git a/docs/cmdline-opts/pubkey.d b/docs/cmdline-opts/pubkey.d
index 692daf6b0..c1fb5d8ef 100644
--- a/docs/cmdline-opts/pubkey.d
+++ b/docs/cmdline-opts/pubkey.d
@@ -3,6 +3,7 @@ Arg: <key>
Protocols: SFTP SCP
Help: SSH Public key file name
Category: sftp scp auth
+Example: --pubkey file.pub sftp://example.com/
---
Public key file name. Allows you to provide your public key in this separate
file.
diff --git a/docs/cmdline-opts/quote.d b/docs/cmdline-opts/quote.d
index 3adb06f8a..2707c87dd 100644
--- a/docs/cmdline-opts/quote.d
+++ b/docs/cmdline-opts/quote.d
@@ -4,6 +4,7 @@ Short: Q
Help: Send command(s) to server before transfer
Protocols: FTP SFTP
Category: ftp sftp
+Example: --quote "DELE file" ftp://example.com/foo
---
Send an arbitrary command to the remote FTP or SFTP server. Quote commands are
sent BEFORE the transfer takes place (just after the initial PWD command in an
diff --git a/docs/cmdline-opts/random-file.d b/docs/cmdline-opts/random-file.d
index c57f52364..a207c1e1b 100644
--- a/docs/cmdline-opts/random-file.d
+++ b/docs/cmdline-opts/random-file.d
@@ -2,6 +2,7 @@ Long: random-file
Arg: <file>
Help: File for reading random data from
Category: misc
+Example: --random-file rubbish $URL
---
Specify the path name to file containing what will be considered as random
data. The data may be used to seed the random engine for SSL connections. See
diff --git a/docs/cmdline-opts/range.d b/docs/cmdline-opts/range.d
index e2d1f62fc..0637f8fc2 100644
--- a/docs/cmdline-opts/range.d
+++ b/docs/cmdline-opts/range.d
@@ -4,6 +4,7 @@ Help: Retrieve only the bytes within RANGE
Arg: <range>
Protocols: HTTP FTP SFTP FILE
Category: http ftp sftp file
+Example: --range 22-44 $URL
---
Retrieve a byte range (i.e. a partial document) from an HTTP/1.1, FTP or SFTP
server or a local FILE. Ranges can be specified in a number of ways.
diff --git a/docs/cmdline-opts/raw.d b/docs/cmdline-opts/raw.d
index 90e777263..c44d33f5c 100644
--- a/docs/cmdline-opts/raw.d
+++ b/docs/cmdline-opts/raw.d
@@ -3,6 +3,7 @@ Help: Do HTTP "raw"; no transfer decoding
Added: 7.16.2
Protocols: HTTP
Category: http
+Example: --raw $URL
---
When used, it disables all internal HTTP decoding of content or transfer
encodings and instead makes them passed on unaltered, raw.
diff --git a/docs/cmdline-opts/referer.d b/docs/cmdline-opts/referer.d
index 8b2057b94..3f6b7c7e1 100644
--- a/docs/cmdline-opts/referer.d
+++ b/docs/cmdline-opts/referer.d
@@ -5,6 +5,9 @@ Protocols: HTTP
Help: Referrer URL
See-also: user-agent header
Category: http
+Example: --referer "https://fake.example" $URL
+Example: --referer "https://fake.example;auto" -L $URL
+Example: --referer ";auto" -L $URL
---
Sends the "Referrer Page" information to the HTTP server. This can also be set
with the --header flag of course. When used with --location you can append
diff --git a/docs/cmdline-opts/remote-header-name.d b/docs/cmdline-opts/remote-header-name.d
index 325dade3f..6e0b98bd1 100644
--- a/docs/cmdline-opts/remote-header-name.d
+++ b/docs/cmdline-opts/remote-header-name.d
@@ -3,6 +3,7 @@ Short: J
Protocols: HTTP
Help: Use the header-provided filename
Category: output
+Example: -OJ https://example.com/file
---
This option tells the --remote-name option to use the server-specified
Content-Disposition filename instead of extracting a filename from the URL.
diff --git a/docs/cmdline-opts/remote-name-all.d b/docs/cmdline-opts/remote-name-all.d
index 299684c51..e27bd5f48 100644
--- a/docs/cmdline-opts/remote-name-all.d
+++ b/docs/cmdline-opts/remote-name-all.d
@@ -2,6 +2,7 @@ Long: remote-name-all
Help: Use the remote file name for all URLs
Added: 7.19.0
Category: output
+Example: --remote-name-all ftp://example.com/file1 ftp://example.com/file2
---
This option changes the default action for all given URLs to be dealt with as
if --remote-name were used for each one. So if you want to disable that for a
diff --git a/docs/cmdline-opts/remote-name.d b/docs/cmdline-opts/remote-name.d
index 184c32e47..68928794b 100644
--- a/docs/cmdline-opts/remote-name.d
+++ b/docs/cmdline-opts/remote-name.d
@@ -2,6 +2,7 @@ Long: remote-name
Short: O
Help: Write output to a file named as the remote file
Category: important output
+Example: -O https://example.com/filename
---
Write output to a local file named like the remote file we get. (Only the file
part of the remote file is used, the path is cut off.)
diff --git a/docs/cmdline-opts/remote-time.d b/docs/cmdline-opts/remote-time.d
index 96fb4fbe9..9c463ae81 100644
--- a/docs/cmdline-opts/remote-time.d
+++ b/docs/cmdline-opts/remote-time.d
@@ -2,6 +2,7 @@ Long: remote-time
Short: R
Help: Set the remote file's time on the local output
Category: output
+Example: --remote-time -o foo $URL
---
When used, this will make curl attempt to figure out the timestamp of the
remote file, and if that is available make the local file get that same
diff --git a/docs/cmdline-opts/request-target.d b/docs/cmdline-opts/request-target.d
index 4422611b1..5f9e47551 100644
--- a/docs/cmdline-opts/request-target.d
+++ b/docs/cmdline-opts/request-target.d
@@ -4,6 +4,7 @@ Help: Specify the target for this request
Protocols: HTTP
Added: 7.55.0
Category: http
+Example: --request-target "*" -X OPTIONS $URL
---
Tells curl to use an alternative "target" (path) instead of using the path as
provided in the URL. Particularly useful when wanting to issue HTTP requests
diff --git a/docs/cmdline-opts/request.d b/docs/cmdline-opts/request.d
index 47c4c8b04..0db0bc9f7 100644
--- a/docs/cmdline-opts/request.d
+++ b/docs/cmdline-opts/request.d
@@ -3,6 +3,8 @@ Short: X
Arg: <command>
Help: Specify request command to use
Category: connection
+Example: -X "DELETE" $URL
+Example: -X NLST ftp://example.com/
---
(HTTP) Specifies a custom request method to use when communicating with the
HTTP server. The specified request method will be used instead of the method
diff --git a/docs/cmdline-opts/resolve.d b/docs/cmdline-opts/resolve.d
index ff10f28d9..6464c42fb 100644
--- a/docs/cmdline-opts/resolve.d
+++ b/docs/cmdline-opts/resolve.d
@@ -3,6 +3,7 @@ Arg: <[+]host:port:addr[,addr]...>
Help: Resolve the host+port to this address
Added: 7.21.3
Category: connection
+Example: --resolve example.com:443:127.0.0.1 $URL
---
Provide a custom address for a specific host and port pair. Using this, you
can make the curl requests(s) use a specified address and prevent the
diff --git a/docs/cmdline-opts/retry-all-errors.d b/docs/cmdline-opts/retry-all-errors.d
index 5ad1da0de..5cab5ddaa 100644
--- a/docs/cmdline-opts/retry-all-errors.d
+++ b/docs/cmdline-opts/retry-all-errors.d
@@ -2,6 +2,7 @@ Long: retry-all-errors
Help: Retry all errors (use with --retry)
Added: 7.71.0
Category: curl
+Example: --retry-all-errors $URL
---
Retry on any error. This option is used together with --retry.
@@ -11,13 +12,14 @@ receiving duplicate data. Do not use with redirected input or output. You'd be
much better off handling your unique problems in shell script. Please read the
example below.
-Warning: For server compatibility curl attempts to retry failed flaky transfers
-as close as possible to how they were started, but this is not possible with
-redirected input or output. For example, before retrying it removes output data
-from a failed partial transfer that was written to an output file. However this
-is not true of data redirected to a | pipe or > file, which are not reset. We
-strongly suggest don't parse or record output via redirect in combination with
-this option, since you may receive duplicate data.
+**WARNING**: For server compatibility curl attempts to retry failed flaky
+transfers as close as possible to how they were started, but this is not
+possible with redirected input or output. For example, before retrying it
+removes output data from a failed partial transfer that was written to an
+output file. However this is not true of data redirected to a | pipe or >
+file, which are not reset. We strongly suggest don't parse or record output
+via redirect in combination with this option, since you may receive duplicate
+data.
By default curl will not error on an HTTP response code that indicates an HTTP
error, if the transfer was successful. For example, if a server replies 404
diff --git a/docs/cmdline-opts/retry-connrefused.d b/docs/cmdline-opts/retry-connrefused.d
index be34f973d..ad079e096 100644
--- a/docs/cmdline-opts/retry-connrefused.d
+++ b/docs/cmdline-opts/retry-connrefused.d
@@ -2,6 +2,7 @@ Long: retry-connrefused
Help: Retry on connection refused (use with --retry)
Added: 7.52.0
Category: curl
+Example: --retry-connrefused --retry $URL
---
In addition to the other conditions, consider ECONNREFUSED as a transient
error too for --retry. This option is used together with --retry.
diff --git a/docs/cmdline-opts/retry-delay.d b/docs/cmdline-opts/retry-delay.d
index 5645c0e6a..283912904 100644
--- a/docs/cmdline-opts/retry-delay.d
+++ b/docs/cmdline-opts/retry-delay.d
@@ -3,6 +3,7 @@ Arg: <seconds>
Help: Wait time between retries
Added: 7.12.3
Category: curl
+Example: --retry-delay 5 --retry $URL
---
Make curl sleep this amount of time before each retry when a transfer has
failed with a transient error (it changes the default backoff time algorithm
diff --git a/docs/cmdline-opts/retry-max-time.d b/docs/cmdline-opts/retry-max-time.d
index 9d6faf304..acccff5d4 100644
--- a/docs/cmdline-opts/retry-max-time.d
+++ b/docs/cmdline-opts/retry-max-time.d
@@ -3,6 +3,7 @@ Arg: <seconds>
Help: Retry only within this period
Added: 7.12.3
Category: curl
+Example: --retry-max-time 30 --retry 10 $URL
---
The retry timer is reset before the first transfer attempt. Retries will be
done as usual (see --retry) as long as the timer hasn't reached this given
diff --git a/docs/cmdline-opts/retry.d b/docs/cmdline-opts/retry.d
index bff0ef226..6238383fe 100644
--- a/docs/cmdline-opts/retry.d
+++ b/docs/cmdline-opts/retry.d
@@ -3,6 +3,7 @@ Arg: <num>
Added: 7.12.3
Help: Retry request if transient problems occur
Category: curl
+Example: --retry 7 $URL
---
If a transient error is returned when curl tries to perform a transfer, it
will retry this number of times before giving up. Setting the number to 0
diff --git a/docs/cmdline-opts/sasl-authzid.d b/docs/cmdline-opts/sasl-authzid.d
index e802c80a1..9065bd5ec 100644
--- a/docs/cmdline-opts/sasl-authzid.d
+++ b/docs/cmdline-opts/sasl-authzid.d
@@ -3,6 +3,7 @@ Arg: <identity>
Help: Identity for SASL PLAIN authentication
Added: 7.66.0
Category: auth
+Example: --sasl-authzid zid imap://example.com/
---
Use this authorisation identity (authzid), during SASL PLAIN authentication,
in addition to the authentication identity (authcid) as specified by --user.
diff --git a/docs/cmdline-opts/sasl-ir.d b/docs/cmdline-opts/sasl-ir.d
index 0041c3b4e..5004306a4 100644
--- a/docs/cmdline-opts/sasl-ir.d
+++ b/docs/cmdline-opts/sasl-ir.d
@@ -2,5 +2,6 @@ Long: sasl-ir
Help: Enable initial response in SASL authentication
Added: 7.31.0
Category: auth
+Example: --sasl-ir imap://example.com/
---
Enable initial response in SASL authentication.
diff --git a/docs/cmdline-opts/service-name.d b/docs/cmdline-opts/service-name.d
index c64496b85..3a5559bc8 100644
--- a/docs/cmdline-opts/service-name.d
+++ b/docs/cmdline-opts/service-name.d
@@ -3,6 +3,7 @@ Help: SPNEGO service name
Arg: <name>
Added: 7.43.0
Category: misc
+Example: --service-name sockd/server $URL
---
This option allows you to change the service name for SPNEGO.
diff --git a/docs/cmdline-opts/show-error.d b/docs/cmdline-opts/show-error.d
index 258949a50..e8b217712 100644
--- a/docs/cmdline-opts/show-error.d
+++ b/docs/cmdline-opts/show-error.d
@@ -3,6 +3,7 @@ Short: S
Help: Show error even when -s is used
See-also: no-progress-meter
Category: curl
+Example: --show-error --silent $URL
---
When used with --silent, it makes curl show an error message if it fails.
diff --git a/docs/cmdline-opts/silent.d b/docs/cmdline-opts/silent.d
index 58a522335..7122c542e 100644
--- a/docs/cmdline-opts/silent.d
+++ b/docs/cmdline-opts/silent.d
@@ -3,6 +3,7 @@ Short: s
Help: Silent mode
See-also: verbose stderr no-progress-meter
Category: important verbose
+Example: -s $URL
---
Silent or quiet mode. Don't show progress meter or error messages. Makes Curl
mute. It will still output the data you ask for, potentially even to the
diff --git a/docs/cmdline-opts/socks4.d b/docs/cmdline-opts/socks4.d
index 3cfb2540c..1cae1e1fc 100644
--- a/docs/cmdline-opts/socks4.d
+++ b/docs/cmdline-opts/socks4.d
@@ -3,6 +3,7 @@ Arg: <host[:port]>
Help: SOCKS4 proxy on given host + port
Added: 7.15.2
Category: proxy
+Example: --socks4 hostname:4096 $URL
---
Use the specified SOCKS4 proxy. If the port number is not specified, it is
assumed at port 1080. Using this socket type make curl resolve the host name
diff --git a/docs/cmdline-opts/socks4a.d b/docs/cmdline-opts/socks4a.d
index d820566a1..8edefdd1b 100644
--- a/docs/cmdline-opts/socks4a.d
+++ b/docs/cmdline-opts/socks4a.d
@@ -3,6 +3,7 @@ Arg: <host[:port]>
Help: SOCKS4a proxy on given host + port
Added: 7.18.0
Category: proxy
+Example: --socks4a hostname:4096 $URL
---
Use the specified SOCKS4a proxy. If the port number is not specified, it is
assumed at port 1080. This asks the proxy to resolve the host name.
diff --git a/docs/cmdline-opts/socks5-basic.d b/docs/cmdline-opts/socks5-basic.d
index 52d1e6619..f32e0bf3e 100644
--- a/docs/cmdline-opts/socks5-basic.d
+++ b/docs/cmdline-opts/socks5-basic.d
@@ -2,6 +2,7 @@ Long: socks5-basic
Help: Enable username/password auth for SOCKS5 proxies
Added: 7.55.0
Category: proxy auth
+Example: --socks5-basic --socks5 hostname:4096 $URL
---
Tells curl to use username/password authentication when connecting to a SOCKS5
proxy. The username/password authentication is enabled by default. Use
diff --git a/docs/cmdline-opts/socks5-gssapi-nec.d b/docs/cmdline-opts/socks5-gssapi-nec.d
index b538f33f3..73cac7a22 100644
--- a/docs/cmdline-opts/socks5-gssapi-nec.d
+++ b/docs/cmdline-opts/socks5-gssapi-nec.d
@@ -2,6 +2,7 @@ Long: socks5-gssapi-nec
Help: Compatibility with NEC SOCKS5 server
Added: 7.19.4
Category: proxy auth
+Example: --socks5-gssapi-nec --socks5 hostname:4096 $URL
---
As part of the GSS-API negotiation a protection mode is negotiated. RFC 1961
says in section 4.3/4.4 it should be protected, but the NEC reference
diff --git a/docs/cmdline-opts/socks5-gssapi-service.d b/docs/cmdline-opts/socks5-gssapi-service.d
index e61d0f5ab..451be8e2d 100644
--- a/docs/cmdline-opts/socks5-gssapi-service.d
+++ b/docs/cmdline-opts/socks5-gssapi-service.d
@@ -3,6 +3,7 @@ Arg: <name>
Help: SOCKS5 proxy service name for GSS-API
Added: 7.19.4
Category: proxy auth
+Example: --socks5-gssapi-service sockd --socks5 hostname:4096 $URL
---
The default service name for a socks server is rcmd/server-fqdn. This option
allows you to change it.
diff --git a/docs/cmdline-opts/socks5-gssapi.d b/docs/cmdline-opts/socks5-gssapi.d
index 72ae7aeb2..2ce806955 100644
--- a/docs/cmdline-opts/socks5-gssapi.d
+++ b/docs/cmdline-opts/socks5-gssapi.d
@@ -2,6 +2,7 @@ Long: socks5-gssapi
Help: Enable GSS-API auth for SOCKS5 proxies
Added: 7.55.0
Category: proxy auth
+Example: --socks5-gssapi --socks5 hostname:4096 $URL
---
Tells curl to use GSS-API authentication when connecting to a SOCKS5 proxy.
The GSS-API authentication is enabled by default (if curl is compiled with
diff --git a/docs/cmdline-opts/socks5-hostname.d b/docs/cmdline-opts/socks5-hostname.d
index 247d7660e..729a7bf85 100644
--- a/docs/cmdline-opts/socks5-hostname.d
+++ b/docs/cmdline-opts/socks5-hostname.d
@@ -3,6 +3,7 @@ Arg: <host[:port]>
Help: SOCKS5 proxy, pass host name to proxy
Added: 7.18.0
Category: proxy
+Example: --socks5-hostname proxy.example:7000 $URL
---
Use the specified SOCKS5 proxy (and let the proxy resolve the host name). If
the port number is not specified, it is assumed at port 1080.
diff --git a/docs/cmdline-opts/socks5.d b/docs/cmdline-opts/socks5.d
index bbe92f0a1..99c740f88 100644
--- a/docs/cmdline-opts/socks5.d
+++ b/docs/cmdline-opts/socks5.d
@@ -3,6 +3,7 @@ Arg: <host[:port]>
Help: SOCKS5 proxy on given host + port
Added: 7.18.0
Category: proxy
+Example: --socks5 proxy.example:7000 $URL
---
Use the specified SOCKS5 proxy - but resolve the host name locally. If the
port number is not specified, it is assumed at port 1080.
diff --git a/docs/cmdline-opts/speed-limit.d b/docs/cmdline-opts/speed-limit.d
index 3f9ad3a46..7bf8d5fb1 100644
--- a/docs/cmdline-opts/speed-limit.d
+++ b/docs/cmdline-opts/speed-limit.d
@@ -3,6 +3,7 @@ Short: Y
Arg: <speed>
Help: Stop transfers slower than this
Category: connection
+Example: --speed-limit 300 --speed-time 10 $URL
---
If a download is slower than this given speed (in bytes per second) for
speed-time seconds it gets aborted. speed-time is set with --speed-time and is
diff --git a/docs/cmdline-opts/speed-time.d b/docs/cmdline-opts/speed-time.d
index 81acabec4..609521456 100644
--- a/docs/cmdline-opts/speed-time.d
+++ b/docs/cmdline-opts/speed-time.d
@@ -3,6 +3,7 @@ Short: y
Arg: <seconds>
Help: Trigger 'speed-limit' abort after this time
Category: connection
+Example: --speed-limit 300 --speed-time 10 $URL
---
If a download is slower than speed-limit bytes per second during a speed-time
period, the download gets aborted. If speed-time is used, the default
diff --git a/docs/cmdline-opts/ssl-allow-beast.d b/docs/cmdline-opts/ssl-allow-beast.d
index f18fe7470..f54cf6416 100644
--- a/docs/cmdline-opts/ssl-allow-beast.d
+++ b/docs/cmdline-opts/ssl-allow-beast.d
@@ -2,9 +2,12 @@ Long: ssl-allow-beast
Help: Allow security flaw to improve interop
Added: 7.25.0
Category: tls
+Example: --ssl-allow-beast $URL
---
This option tells curl to not work around a security flaw in the SSL3 and
TLS1.0 protocols known as BEAST. If this option isn't used, the SSL layer may
use workarounds known to cause interoperability problems with some older SSL
-implementations. WARNING: this option loosens the SSL security, and by using
-this flag you ask for exactly that.
+implementations.
+
+**WARNING**: this option loosens the SSL security, and by using this flag you
+ask for exactly that.
diff --git a/docs/cmdline-opts/ssl-auto-client-cert.d b/docs/cmdline-opts/ssl-auto-client-cert.d
index 16108aef1..7581bdff6 100644
--- a/docs/cmdline-opts/ssl-auto-client-cert.d
+++ b/docs/cmdline-opts/ssl-auto-client-cert.d
@@ -3,6 +3,7 @@ Help: Use auto client certificate (Schannel)
Added: 7.77.0
See-also: proxy-ssl-auto-client-cert
Category: tls
+Example: --ssl-auto-client-cert $URL
---
Tell libcurl to automatically locate and use a client certificate for
authentication, when requested by the server. This option is only supported
diff --git a/docs/cmdline-opts/ssl-no-revoke.d b/docs/cmdline-opts/ssl-no-revoke.d
index 3b1614243..dde77aa11 100644
--- a/docs/cmdline-opts/ssl-no-revoke.d
+++ b/docs/cmdline-opts/ssl-no-revoke.d
@@ -2,6 +2,7 @@ Long: ssl-no-revoke
Help: Disable cert revocation checks (Schannel)
Added: 7.44.0
Category: tls
+Example: --ssl-no-revoke $URL
---
(Schannel) This option tells curl to disable certificate revocation checks.
WARNING: this option loosens the SSL security, and by using this flag you ask
diff --git a/docs/cmdline-opts/ssl-reqd.d b/docs/cmdline-opts/ssl-reqd.d
index 2e573e39d..489be00d9 100644
--- a/docs/cmdline-opts/ssl-reqd.d
+++ b/docs/cmdline-opts/ssl-reqd.d
@@ -3,6 +3,7 @@ Help: Require SSL/TLS
Protocols: FTP IMAP POP3 SMTP
Added: 7.20.0
Category: tls
+Example: --ssl-reqd ftp://example.com
---
Require SSL/TLS for the connection. Terminates the connection if the server
doesn't support SSL/TLS.
diff --git a/docs/cmdline-opts/ssl-revoke-best-effort.d b/docs/cmdline-opts/ssl-revoke-best-effort.d
index af22da461..2db32192e 100644
--- a/docs/cmdline-opts/ssl-revoke-best-effort.d
+++ b/docs/cmdline-opts/ssl-revoke-best-effort.d
@@ -2,6 +2,7 @@ Long: ssl-revoke-best-effort
Help: Ignore missing/offline cert CRL dist points
Added: 7.70.0
Category: tls
+Example: --ssl-revoke-best-effort $URL
---
(Schannel) This option tells curl to ignore certificate revocation checks when
they failed due to missing/offline distribution points for the revocation check
diff --git a/docs/cmdline-opts/ssl.d b/docs/cmdline-opts/ssl.d
index 39616bc2a..bc339faed 100644
--- a/docs/cmdline-opts/ssl.d
+++ b/docs/cmdline-opts/ssl.d
@@ -3,6 +3,7 @@ Help: Try SSL/TLS
Protocols: FTP IMAP POP3 SMTP
Added: 7.20.0
Category: tls
+Example: --ssl pop3://example.com/
---
Try to use SSL/TLS for the connection. Reverts to a non-secure connection if
the server doesn't support SSL/TLS. See also --ftp-ssl-control and --ssl-reqd
diff --git a/docs/cmdline-opts/sslv2.d b/docs/cmdline-opts/sslv2.d
index f9ee99d0d..d96a6cc8d 100644
--- a/docs/cmdline-opts/sslv2.d
+++ b/docs/cmdline-opts/sslv2.d
@@ -8,6 +8,8 @@ Requires: TLS
See-also: http1.1 http2
Help: Use SSLv2
Category: tls
+Example: --sslv2 $URL
---
-This option previously asked curl to use SSLv2, but starting in curl 7.77.0 this
-instruction is ignored. SSLv2 is widely considered insecure (see RFC 6176).
+This option previously asked curl to use SSLv2, but starting in curl 7.77.0
+this instruction is ignored. SSLv2 is widely considered insecure (see RFC
+6176).
diff --git a/docs/cmdline-opts/sslv3.d b/docs/cmdline-opts/sslv3.d
index e8b2c35e8..3ee483d2a 100644
--- a/docs/cmdline-opts/sslv3.d
+++ b/docs/cmdline-opts/sslv3.d
@@ -8,6 +8,7 @@ Requires: TLS
See-also: http1.1 http2
Help: Use SSLv3
Category: tls
+Example: --sslv3 $URL
---
This option previously asked curl to use SSLv3, but starting in curl 7.77.0
this instruction is ignored. SSLv3 is widely considered insecure (see RFC
diff --git a/docs/cmdline-opts/stderr.d b/docs/cmdline-opts/stderr.d
index 737df6393..c0f0efa38 100644
--- a/docs/cmdline-opts/stderr.d
+++ b/docs/cmdline-opts/stderr.d
@@ -3,6 +3,7 @@ Arg: <file>
Help: Where to redirect stderr
See-also: verbose silent
Category: verbose
+Example: --stderr output.txt $URL
---
Redirect all writes to stderr to the specified file instead. If the file name
is a plain '-', it is instead written to stdout.
diff --git a/docs/cmdline-opts/styled-output.d b/docs/cmdline-opts/styled-output.d
index 91d36eca7..bf636019a 100644
--- a/docs/cmdline-opts/styled-output.d
+++ b/docs/cmdline-opts/styled-output.d
@@ -2,6 +2,7 @@ Long: styled-output
Help: Enable styled output for HTTP headers
Added: 7.61.0
Category: verbose
+Example: --styled-output -I $URL
---
Enables the automatic use of bold font styles when writing HTTP headers to the
terminal. Use --no-styled-output to switch them off.
diff --git a/docs/cmdline-opts/suppress-connect-headers.d b/docs/cmdline-opts/suppress-connect-headers.d
index b4e2a17db..71078e887 100644
--- a/docs/cmdline-opts/suppress-connect-headers.d
+++ b/docs/cmdline-opts/suppress-connect-headers.d
@@ -2,6 +2,7 @@ Long: suppress-connect-headers
Help: Suppress proxy CONNECT response headers
See-also: dump-header include proxytunnel
Category: proxy
+Example: --suppress-connect-headers --include -x proxy $URL
---
When --proxytunnel is used and a CONNECT request is made don't output proxy
CONNECT response headers. This option is meant to be used with --dump-header or
diff --git a/docs/cmdline-opts/tcp-fastopen.d b/docs/cmdline-opts/tcp-fastopen.d
index faef499f3..e7e9d2e9a 100644
--- a/docs/cmdline-opts/tcp-fastopen.d
+++ b/docs/cmdline-opts/tcp-fastopen.d
@@ -2,5 +2,6 @@ Long: tcp-fastopen
Added: 7.49.0
Help: Use TCP Fast Open
Category: connection
+Example: --tcp-fastopen $URL
---
Enable use of TCP Fast Open (RFC7413).
diff --git a/docs/cmdline-opts/tcp-nodelay.d b/docs/cmdline-opts/tcp-nodelay.d
index 90483d2e4..97cd30aa0 100644
--- a/docs/cmdline-opts/tcp-nodelay.d
+++ b/docs/cmdline-opts/tcp-nodelay.d
@@ -2,6 +2,7 @@ Long: tcp-nodelay
Help: Use the TCP_NODELAY option
Added: 7.11.2
Category: connection
+Example: --tcp-nodelay $URL
---
Turn on the TCP_NODELAY option. See the *curl_easy_setopt(3)* man page for
details about this option.
diff --git a/docs/cmdline-opts/telnet-option.d b/docs/cmdline-opts/telnet-option.d
index 789de3ea1..3475cb596 100644
--- a/docs/cmdline-opts/telnet-option.d
+++ b/docs/cmdline-opts/telnet-option.d
@@ -3,6 +3,7 @@ Short: t
Arg: <opt=val>
Help: Set telnet option
Category: telnet
+Example: -t TTYPE=vt100 telnet://example.com/
---
Pass options to the telnet protocol. Supported options are:
diff --git a/docs/cmdline-opts/tftp-blksize.d b/docs/cmdline-opts/tftp-blksize.d
index 6e67ed2e1..3b19e5cf7 100644
--- a/docs/cmdline-opts/tftp-blksize.d
+++ b/docs/cmdline-opts/tftp-blksize.d
@@ -4,6 +4,7 @@ Help: Set TFTP BLKSIZE option
Protocols: TFTP
Added: 7.20.0
Category: tftp
+Example: --tftp-blksize 1024 tftp://example.com/file
---
Set TFTP BLKSIZE option (must be >512). This is the block size that curl will
try to use when transferring data to or from a TFTP server. By default 512
diff --git a/docs/cmdline-opts/tftp-no-options.d b/docs/cmdline-opts/tftp-no-options.d
index 023327301..9ff334b86 100644
--- a/docs/cmdline-opts/tftp-no-options.d
+++ b/docs/cmdline-opts/tftp-no-options.d
@@ -3,6 +3,7 @@ Help: Do not send any TFTP options
Protocols: TFTP
Added: 7.48.0
Category: tftp
+Example: --tftp-no-options tftp://192.168.0.1/
---
Tells curl not to send TFTP options requests.
diff --git a/docs/cmdline-opts/time-cond.d b/docs/cmdline-opts/time-cond.d
index 0b56c6ee3..f82f497fc 100644
--- a/docs/cmdline-opts/time-cond.d
+++ b/docs/cmdline-opts/time-cond.d
@@ -4,6 +4,9 @@ Arg: <time>
Help: Transfer based on a time condition
Protocols: HTTP FTP
Category: http ftp
+Example: -z "Wed 01 Sep 2021 12:18:00" $URL
+Example: -z "-Wed 01 Sep 2021 12:18:00" $URL
+Example: -z file $URL
---
Request a file that has been modified later than the given time and date, or
one that has been modified before that time. The <date expression> can be all
diff --git a/docs/cmdline-opts/tls-max.d b/docs/cmdline-opts/tls-max.d
index 07eb65465..54431ac38 100644
--- a/docs/cmdline-opts/tls-max.d
+++ b/docs/cmdline-opts/tls-max.d
@@ -7,6 +7,8 @@ Requires: TLS
See-also: tlsv1.0 tlsv1.1 tlsv1.2 tlsv1.3
Help: Set maximum allowed TLS version
Category: tls
+Example: --tls-max 1.2 $URL
+Example: --tls-max 1.3 --tlsv1.2 $URL
---
VERSION defines maximum supported TLS version. The minimum acceptable version
is set by tlsv1.0, tlsv1.1, tlsv1.2 or tlsv1.3.
diff --git a/docs/cmdline-opts/tls13-ciphers.d b/docs/cmdline-opts/tls13-ciphers.d
index 0df1695b4..daf1c93ab 100644
--- a/docs/cmdline-opts/tls13-ciphers.d
+++ b/docs/cmdline-opts/tls13-ciphers.d
@@ -3,6 +3,7 @@ Arg: <ciphersuite list>
help: TLS 1.3 cipher suites to use
Protocols: TLS
Category: tls
+Example: --tls13-ciphers TLS_AES_128_GCM_SHA256 $URL
---
Specifies which cipher suites to use in the connection if it negotiates TLS
1.3. The list of ciphers suites must specify valid ciphers. Read up on TLS 1.3
diff --git a/docs/cmdline-opts/tlsauthtype.d b/docs/cmdline-opts/tlsauthtype.d
index 5b283cf9b..57b6ab8ad 100644
--- a/docs/cmdline-opts/tlsauthtype.d
+++ b/docs/cmdline-opts/tlsauthtype.d
@@ -3,6 +3,7 @@ Arg: <type>
Help: TLS authentication type
Added: 7.21.4
Category: tls auth
+Example: --tlsauthtype SRP $URL
---
Set TLS authentication type. Currently, the only supported option is "SRP",
for TLS-SRP (RFC 5054). If --tlsuser and --tlspassword are specified but
diff --git a/docs/cmdline-opts/tlspassword.d b/docs/cmdline-opts/tlspassword.d
index e7e37805c..80cf065e9 100644
--- a/docs/cmdline-opts/tlspassword.d
+++ b/docs/cmdline-opts/tlspassword.d
@@ -3,6 +3,7 @@ Arg: <string>
Help: TLS password
Added: 7.21.4
Category: tls auth
+Example: --tlspassword pwd --tlsuser user $URL
---
Set password for use with the TLS authentication method specified with
--tlsauthtype. Requires that --tlsuser also be set.
diff --git a/docs/cmdline-opts/tlsuser.d b/docs/cmdline-opts/tlsuser.d
index ada152608..2cfcd951d 100644
--- a/docs/cmdline-opts/tlsuser.d
+++ b/docs/cmdline-opts/tlsuser.d
@@ -3,6 +3,7 @@ Arg: <name>
Help: TLS user name
Added: 7.21.4
Category: tls auth
+Example: --tlspassword pwd --tlsuser user $URL
---
Set username for use with the TLS authentication method specified with
--tlsauthtype. Requires that --tlspassword also is set.
diff --git a/docs/cmdline-opts/tlsv1.0.d b/docs/cmdline-opts/tlsv1.0.d
index 4f0176f31..5fc18dcbe 100644
--- a/docs/cmdline-opts/tlsv1.0.d
+++ b/docs/cmdline-opts/tlsv1.0.d
@@ -3,6 +3,7 @@ Help: Use TLSv1.0 or greater
Protocols: TLS
Added: 7.34.0
Category: tls
+Example: --tlsv1.0 $URL
---
Forces curl to use TLS version 1.0 or later when connecting to a remote TLS server.
diff --git a/docs/cmdline-opts/tlsv1.1.d b/docs/cmdline-opts/tlsv1.1.d
index b3649f7f4..6d169bf30 100644
--- a/docs/cmdline-opts/tlsv1.1.d
+++ b/docs/cmdline-opts/tlsv1.1.d
@@ -3,6 +3,7 @@ Help: Use TLSv1.1 or greater
Protocols: TLS
Added: 7.34.0
Category: tls
+Example: --tlsv1.1 $URL
---
Forces curl to use TLS version 1.1 or later when connecting to a remote TLS server.
diff --git a/docs/cmdline-opts/tlsv1.2.d b/docs/cmdline-opts/tlsv1.2.d
index dffbccb9d..5df843f7c 100644
--- a/docs/cmdline-opts/tlsv1.2.d
+++ b/docs/cmdline-opts/tlsv1.2.d
@@ -3,6 +3,7 @@ Help: Use TLSv1.2 or greater
Protocols: TLS
Added: 7.34.0
Category: tls
+Example: --tlsv1.2 $URL
---
Forces curl to use TLS version 1.2 or later when connecting to a remote TLS server.
diff --git a/docs/cmdline-opts/tlsv1.3.d b/docs/cmdline-opts/tlsv1.3.d
index 37d953552..cc9a53bcd 100644
--- a/docs/cmdline-opts/tlsv1.3.d
+++ b/docs/cmdline-opts/tlsv1.3.d
@@ -3,6 +3,7 @@ Help: Use TLSv1.3 or greater
Protocols: TLS
Added: 7.52.0
Category: tls
+Example: --tlsv1.3 $URL
---
Forces curl to use TLS version 1.3 or later when connecting to a remote TLS
server.
diff --git a/docs/cmdline-opts/tlsv1.d b/docs/cmdline-opts/tlsv1.d
index d4c0c5160..b881c24fc 100644
--- a/docs/cmdline-opts/tlsv1.d
+++ b/docs/cmdline-opts/tlsv1.d
@@ -8,6 +8,7 @@ Requires: TLS
See-also: http1.1 http2
Help: Use TLSv1.0 or greater
Category: tls
+Example: --tlsv1 $URL
---
Tells curl to use at least TLS version 1.x when negotiating with a remote TLS
server. That means TLS version 1.0 or higher
diff --git a/docs/cmdline-opts/tr-encoding.d b/docs/cmdline-opts/tr-encoding.d
index ce1d00325..7fdf9e098 100644
--- a/docs/cmdline-opts/tr-encoding.d
+++ b/docs/cmdline-opts/tr-encoding.d
@@ -3,6 +3,7 @@ Added: 7.21.6
Help: Request compressed transfer encoding
Protocols: HTTP
Category: http
+Example: --tr-encoding $URL
---
Request a compressed Transfer-Encoding response using one of the algorithms
curl supports, and uncompress the data while receiving it.
diff --git a/docs/cmdline-opts/trace-ascii.d b/docs/cmdline-opts/trace-ascii.d
index 461ea6fe5..89fe58814 100644
--- a/docs/cmdline-opts/trace-ascii.d
+++ b/docs/cmdline-opts/trace-ascii.d
@@ -3,6 +3,7 @@ Arg: <file>
Help: Like --trace, but without hex output
Mutexed: trace verbose
Category: verbose
+Example: --trace-ascii log.txt $URL
---
Enables a full trace dump of all incoming and outgoing data, including
descriptive information, to the given output file. Use "-" as filename to have
diff --git a/docs/cmdline-opts/trace-time.d b/docs/cmdline-opts/trace-time.d
index 81e28e3ce..083270dc6 100644
--- a/docs/cmdline-opts/trace-time.d
+++ b/docs/cmdline-opts/trace-time.d
@@ -2,6 +2,7 @@ Long: trace-time
Help: Add time stamps to trace/verbose output
Added: 7.14.0
Category: verbose
+Example: --trace-time --trace-ascii output $URL
---
Prepends a time stamp to each trace or verbose line that curl displays.
diff --git a/docs/cmdline-opts/trace.d b/docs/cmdline-opts/trace.d
index 5788f9965..3e7154503 100644
--- a/docs/cmdline-opts/trace.d
+++ b/docs/cmdline-opts/trace.d
@@ -3,6 +3,7 @@ Arg: <file>
Help: Write a debug trace to FILE
Mutexed: verbose trace-ascii
Category: verbose
+Example: --trace log.txt $URL
---
Enables a full trace dump of all incoming and outgoing data, including
descriptive information, to the given output file. Use "-" as filename to have
diff --git a/docs/cmdline-opts/unix-socket.d b/docs/cmdline-opts/unix-socket.d
index e4ea91d01..c526ca6bc 100644
--- a/docs/cmdline-opts/unix-socket.d
+++ b/docs/cmdline-opts/unix-socket.d
@@ -4,5 +4,6 @@ Help: Connect through this Unix domain socket
Added: 7.40.0
Protocols: HTTP
Category: connection
+Example: --unix-socket socket-path $URL
---
Connect through this Unix domain socket, instead of using the network.
diff --git a/docs/cmdline-opts/upload-file.d b/docs/cmdline-opts/upload-file.d
index 63584b797..5cc56285b 100644
--- a/docs/cmdline-opts/upload-file.d
+++ b/docs/cmdline-opts/upload-file.d
@@ -3,6 +3,9 @@ Short: T
Arg: <file>
Help: Transfer local FILE to destination
Category: important upload
+Example: -T file $URL
+Example: -T "img[1-1000].png" ftp://ftp.example.com/
+Example: --upload-file "{file1,file2}" $URL
---
This transfers the specified local file to the remote URL. If there is no file
part in the specified URL, curl will append the local file name. NOTE that you
@@ -12,21 +15,15 @@ file name to use. That will most likely cause the upload operation to fail. If
this is used on an HTTP(S) server, the PUT command will be used.
Use the file name "-" (a single dash) to use stdin instead of a given file.
-Alternately, the file name "." (a single period) may be specified instead
-of "-" to use stdin in non-blocking mode to allow reading server output
-while stdin is being uploaded.
+Alternately, the file name "." (a single period) may be specified instead of
+"-" to use stdin in non-blocking mode to allow reading server output while
+stdin is being uploaded.
You can specify one --upload-file for each URL on the command line. Each
--upload-file + URL pair specifies what to upload and to where. curl also
supports "globbing" of the --upload-file argument, meaning that you can upload
multiple files to a single URL by using the same URL globbing style supported
-in the URL, like this:
-
- curl --upload-file "{file1,file2}" http://www.example.com
-
-or even
-
- curl -T "img[1-1000].png" ftp://ftp.example.com/upload/
+in the URL.
When uploading to an SMTP server: the uploaded data is assumed to be RFC 5322
formatted. It has to feature the necessary set of headers and mail body
diff --git a/docs/cmdline-opts/url.d b/docs/cmdline-opts/url.d
index 30f0bf72e..ed1598a3c 100644
--- a/docs/cmdline-opts/url.d
+++ b/docs/cmdline-opts/url.d
@@ -2,6 +2,7 @@ Long: url
Arg: <url>
Help: URL to work with
Category: curl
+Example: --url $URL
---
Specify a URL to fetch. This option is mostly handy when you want to specify
URL(s) in a config file.
@@ -15,5 +16,5 @@ setting a default protocol, see --proto-default for details.
This option may be used any number of times. To control where this URL is
written, use the --output or the --remote-name options.
-Warning: On Windows, particular file:// accesses can be converted to network
-accesses by the operating system. Beware!
+**WARNING**: On Windows, particular file:// accesses can be converted to
+network accesses by the operating system. Beware!
diff --git a/docs/cmdline-opts/use-ascii.d b/docs/cmdline-opts/use-ascii.d
index 3a5a6a4f8..79554c7dc 100644
--- a/docs/cmdline-opts/use-ascii.d
+++ b/docs/cmdline-opts/use-ascii.d
@@ -3,6 +3,7 @@ Long: use-ascii
Help: Use ASCII/text transfer
Protocols: FTP LDAP
Category: misc
+Example: -B ftp://example.com/README
---
Enable ASCII transfer. For FTP, this can also be enforced by using a URL that
ends with ";type=A". This option causes data sent to stdout to be in text mode
diff --git a/docs/cmdline-opts/user-agent.d b/docs/cmdline-opts/user-agent.d
index bcc3ddb65..a322d1489 100644
--- a/docs/cmdline-opts/user-agent.d
+++ b/docs/cmdline-opts/user-agent.d
@@ -4,6 +4,7 @@ Arg: <name>
Help: Send User-Agent <name> to server
Protocols: HTTP
Category: important http
+Example: -A "Agent 007" $URL
---
Specify the User-Agent string to send to the HTTP server. To encode blanks in
the string, surround the string with single quote marks. This header can also
diff --git a/docs/cmdline-opts/user.d b/docs/cmdline-opts/user.d
index b588700c0..6ab3c6439 100644
--- a/docs/cmdline-opts/user.d
+++ b/docs/cmdline-opts/user.d
@@ -3,6 +3,7 @@ Short: u
Arg: <user:password>
Help: Server user and password
Category: important auth
+Example: -u user:secret $URL
---
Specify the user name and password to use for server authentication. Overrides
--netrc and --netrc-optional.
diff --git a/docs/cmdline-opts/verbose.d b/docs/cmdline-opts/verbose.d
index 497eeb6d4..f040d75e2 100644
--- a/docs/cmdline-opts/verbose.d
+++ b/docs/cmdline-opts/verbose.d
@@ -4,6 +4,7 @@ Mutexed: trace trace-ascii
Help: Make the operation more talkative
See-also: include
Category: important verbose
+Example: --verbose $URL
---
Makes curl verbose during the operation. Useful for debugging and seeing
what's going on "under the hood". A line starting with '>' means "header data"
diff --git a/docs/cmdline-opts/version.d b/docs/cmdline-opts/version.d
index a257ebd9f..f3c5899be 100644
--- a/docs/cmdline-opts/version.d
+++ b/docs/cmdline-opts/version.d
@@ -2,6 +2,7 @@ Long: version
Short: V
Help: Show version number and quit
Category: important curl
+Example: --version
---
Displays information about curl and the libcurl version it uses.
diff --git a/docs/cmdline-opts/write-out.d b/docs/cmdline-opts/write-out.d
index df50c318c..6c74ddcdc 100644
--- a/docs/cmdline-opts/write-out.d
+++ b/docs/cmdline-opts/write-out.d
@@ -3,6 +3,7 @@ Short: w
Arg: <format>
Help: Use output FORMAT after completion
Category: verbose
+Example: -w '%{http_code}\\n' $URL
---
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
diff --git a/docs/cmdline-opts/xattr.d b/docs/cmdline-opts/xattr.d
index 4b64c6cbf..8011b79b0 100644
--- a/docs/cmdline-opts/xattr.d
+++ b/docs/cmdline-opts/xattr.d
@@ -1,6 +1,7 @@
Long: xattr
Help: Store metadata in extended file attributes
Category: misc
+Example: --xattr -o storage $URL
---
When saving output to a file, this option tells curl to store certain file
metadata in extended file attributes. Currently, the URL is stored in the
diff --git a/src/tool_help.c b/src/tool_help.c
index b5e37aa9a..cc23b12e2 100644
--- a/src/tool_help.c
+++ b/src/tool_help.c
@@ -169,7 +169,7 @@ static const struct helptxt helptext[] = {
{"-K, --config <file>",
"Read config from a file",
CURLHELP_CURL},
- {" --connect-timeout <seconds>",
+ {" --connect-timeout <fractional seconds>",
"Maximum time allowed for connection",
CURLHELP_CONNECTION},
{" --connect-to <HOST1:PORT1:HOST2:PORT2>",
@@ -194,7 +194,7 @@ static const struct helptxt helptext[] = {
"Convert LF to CRLF in upload",
CURLHELP_FTP | CURLHELP_SMTP},
{" --crlfile <file>",
- "Get a CRL list in PEM format from the given file",
+ "Use this CRL list",
CURLHELP_TLS},
{" --curves <algorithm list>",
"(EC) TLS key exchange algorithm(s) to request",
@@ -442,7 +442,7 @@ static const struct helptxt helptext[] = {
{" --max-redirs <num>",
"Maximum number of redirects allowed",
CURLHELP_HTTP},
- {"-m, --max-time <seconds>",
+ {"-m, --max-time <fractional seconds>",
"Maximum time allowed for the transfer",
CURLHELP_CONNECTION},
{" --metalink",