aboutsummaryrefslogtreecommitdiff
path: root/docs/cmdline-opts/page-header
diff options
context:
space:
mode:
Diffstat (limited to 'docs/cmdline-opts/page-header')
-rw-r--r--docs/cmdline-opts/page-header74
1 files changed, 62 insertions, 12 deletions
diff --git a/docs/cmdline-opts/page-header b/docs/cmdline-opts/page-header
index 51f45edad..a51e485ba 100644
--- a/docs/cmdline-opts/page-header
+++ b/docs/cmdline-opts/page-header
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -31,8 +31,9 @@ curl \- transfer a URL
.B curl
is a tool to transfer data from or to a server, using one of the supported
protocols (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP,
-LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET
-and TFTP). The command is designed to work without user interaction.
+LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP,
+SMTPS, TELNET and TFTP). The command is designed to work without user
+interaction.
curl offers a busload of useful tricks like proxy support, user
authentication, FTP upload, HTTP post, SSL connections, cookies, file transfer
@@ -46,22 +47,22 @@ The URL syntax is protocol-dependent. You'll find a detailed description in
RFC 3986.
You can specify multiple URLs or parts of URLs by writing part sets within
-braces as in:
+braces and quoting the URL as in:
- http://site.{one,two,three}.com
+ "http://site.{one,two,three}.com"
or you can get sequences of alphanumeric series by using [] as in:
- ftp://ftp.example.com/file[1-100].txt
+ "ftp://ftp.example.com/file[1-100].txt"
- ftp://ftp.example.com/file[001-100].txt (with leading zeros)
+ "ftp://ftp.example.com/file[001-100].txt" (with leading zeros)
- ftp://ftp.example.com/file[a-z].txt
+ "ftp://ftp.example.com/file[a-z].txt"
Nested sequences are not supported, but you can use several ones next to each
other:
- http://example.com/archive[1996-1999]/vol[1-4]/part{a,b,c}.html
+ "http://example.com/archive[1996-1999]/vol[1-4]/part{a,b,c}.html"
You can specify any amount of URLs on the command line. They will be fetched
in a sequential manner in the specified order. You can specify command line
@@ -70,9 +71,9 @@ options and URLs mixed and in any order on the command line.
You can specify a step counter for the ranges to get every Nth number or
letter:
- http://example.com/file[1-100:10].txt
+ "http://example.com/file[1-100:10].txt"
- http://example.com/file[a-z:2].txt
+ "http://example.com/file[a-z:2].txt"
When using [] or {} sequences when invoked from a command line prompt, you
probably have to put the full URL within double quotes to avoid the shell from
@@ -82,7 +83,7 @@ for example '&', '?' and '*'.
Provide the IPv6 zone index in the URL with an escaped percentage sign and the
interface name. Like in
- http://[fe80::3%25eth0]/
+ "http://[fe80::3%25eth0]/"
If you specify URL without protocol:// prefix, curl will attempt to guess what
protocol you might want. It will then default to HTTP but try other protocols
@@ -98,6 +99,55 @@ getting many files from the same server will not do multiple connects /
handshakes. This improves speed. Of course this is only done on files
specified on a single command line and cannot be used between separate curl
invokes.
+.SH PROTOCOLS
+curl supports numerous protocols, or put in URL terms: schemes. Your
+particular build may not support them all.
+.IP DICT
+Lets you lookup words using online dictionaries.
+.IP FILE
+Read or write local files. curl does not support accessing file:// URL
+remotely, but when running on Microsft Windows using the native UNC approach
+will work.
+.IP FTP(S)
+curl supports the File Transfer Protocol with a lot of tweaks and levers. With
+or without using TLS.
+.IP GOPHER
+Retrieve files.
+.IP HTTP(S)
+curl supports HTTP with numerous options and variations. It can speak HTTP
+version 0.9, 1.0, 1.1, 2 and 3 depending on build options and the correct
+command line options.
+.IP IMAP(S)
+Using the mail reading protocol, curl can "download" emails for you. With or
+without using TLS.
+.IP LDAP(S)
+curl can do directory lookups for you, with or without TLS.
+.IP MQTT
+curl supports MQTT version 3. Downloading over MQTT equals "subscribe" to a
+topic while uploading/posting equals "publish" on a topic. MQTT support is
+experimental and TLS based MQTT is not supported (yet).
+.IP POP3(S)
+Downloading from a pop3 server means getting a mail. With or without using
+TLS.
+.IP RTMP(S)
+The Realtime Messaging Protocol is primarily used to server streaming media
+and curl can download it.
+.IP RTSP
+curl supports RTSP 1.0 downloads.
+.IP SCP
+curl supports SSH version 2 scp transfers.
+.IP SFTP
+curl supports SFTP (draft 5) done over SSH version 2.
+.IP SMB(S)
+curl supports SMB version 1 for upload and download.
+.IP SMTP(S)
+Uploading contents to an SMTP server means sending an email. With or without
+TLS.
+.IP TELNET
+Telling curl to fetch a telnet URL starts an interactive session where it
+sends what it reads on stdin and outputs what the server sends it.
+.IP TFTP
+curl can do TFTP downloads and uploads.
.SH "PROGRESS METER"
curl normally displays a progress meter during operations, indicating the
amount of transferred data, transfer speeds and estimated time left, etc. The