用法:curl [选项...] <url>
--abstract-unix-socket <path> 通过抽象的Unix域套接字进行连接
--alt-svc <file name> 启用带有此缓存文件的alt-svc
--anyauth 选择任何身份验证方法
-a, --append 在上传时将数据追加到目标文件
--aws-sigv4 <provider1[:provider2[:region[:service]]]> 使用AWS V4签名认证
--basic 使用HTTP基本身份验证
--ca-native 使用操作系统中的CA证书
--cacert <file> 用于验证对等方的CA证书
--capath <dir> 用于验证对等方的CA目录
-E, --cert <certificate[:password]> 客户端证书文件和密码
--cert-status 通过OCSP-staple验证服务器证书的状态
--cert-type <type> 证书类型(DER/PEM/ENG/P12)
--ciphers <list of ciphers> 使用的SSL密码
--compressed 请求压缩的响应
--compressed-ssh 启用SSH压缩
-K, --config <file> 从文件中读取配置
--connect-timeout <fractional seconds> 连接的最大允许时间
--connect-to HOST1:PORT1:HOST2:PORT2 连接到主机
-C, --continue-at <offset> 恢复传输的偏移量
-b, --cookie <data|filename> 从字符串/文件发送Cookie
-c, --cookie-jar <filename> 操作后将Cookie写入<filename>
--create-dirs 创建必要的本地目录层次结构
--create-file-mode <mode> 创建文件的模式
--crlf 在上传时将LF转换为CRLF
--crlfile <file> 使用此CRL列表
--curves <algorithm list> (EC)请求的TLS密钥交换算法
-d, --data <data> HTTP POST数据
--data-ascii <data> HTTP POST ASCII数据
--data-binary <data> HTTP POST二进制数据
--data-raw <data> HTTP POST数据,允许使用'@'
--data-urlencode <data> HTTP POST数据进行URL编码
--delegation <LEVEL> GSS-API委派权限
--digest 使用HTTP摘要身份验证
-q, --disable 禁用.curlrc文件
--disable-eprt 禁止使用EPRT或LPRT
--disable-epsv 禁止使用EPSV
--disallow-username-in-url 禁止在URL中使用用户名
--dns-interface <interface> 用于DNS请求的接口
--dns-ipv4-addr <address> 用于DNS请求的IPv4地址
--dns-ipv6-addr <address> 用于DNS请求的IPv6地址
--dns-servers <addresses> DNS服务器地址
--doh-cert-status 通过OCSP-staple验证DoH服务器证书的状态
--doh-insecure 允许不安全的DoH服务器连接
--doh-url <URL> 通过DoH解析主机名
-D, --dump-header <filename> 将接收到的头部写入<filename>
--egd-file <file> 随机数据的EGD套接字路径
--engine <name> 要使用的加密引擎
--etag-compare <file> 将文件中的ETag作为自定义头部传递
--etag-save <file> 解析请求中的ETag并将其保存到文件中
--expect100-timeout <seconds> 等待100-continue的时间
-f, --fail 在HTTP错误时快速失败,不输出任何内容
--fail-early 在第一个传输错误时失败,不继续
--fail-with-body 在HTTP错误时失败,但保存响应体
--false-start 启用TLS False Start
-F, --form <name=content> 指定多部分MIME数据
--form-escape 通过反斜杠转义多部分表单字段/文件名
--form-string <name=string> 指定多部分MIME数据
--ftp-account <data> 帐户数据字符串
--ftp-alternative-to-user <command> 替换USER [name]的字符串
--ftp-create-dirs 如果不存在则创建远程目录
--ftp-method <method> 控制CWD的使用
--ftp-pasv 使用PASV/EPSV而不是PORT
-P, --ftp-port <address> 使用PORT而不是PASV
--ftp-pret 在PASV之前发送PRET
--ftp-skip-pasv-ip 跳过PASV的IP地址
--ftp-ssl-ccc 在身份验证后发送CCC
--ftp-ssl-ccc-mode <active/passive> 设置CCC模式
--ftp-ssl-control 对FTP登录要求SSL/TLS,对传输清除
-G, --get 将发布数据放在URL中并使用GET方法
-g, --globoff 禁用使用{}和[]进行URL序列和范围
--happy-eyeballs-timeout-ms <milliseconds> 尝试IPv4之前的IPv6时间
--haproxy-clientip 在HAProxy PROXY协议v1标头中设置客户端IP
--haproxy-protocol 发送HAProxy PROXY协议v1标头
-I, --head 仅显示文档信息
-H, --header header/@file 向服务器传递自定义头部
-h, --help <category> 获取命令的帮助信息
--hostpubmd5 <md5> 可接受的主机公钥的MD5哈希值
--hostpubsha256 <sha256> 可接受的主机公钥的SHA256哈希值
--hsts <file name> 启用具有此缓存文件的HSTS
--http0.9 允许HTTP 0.9响应
-0, --http1.0 使用HTTP 1.0
--http1.1 使用HTTP 1.1
--http2 使用HTTP/2
--http2-prior-knowledge 在不使用HTTP/1.1升级的情况下使用HTTP 2
--http3 使用HTTP v3
--http3-only 仅使用HTTP v3
--ignore-content-length 忽略远程资源的大小
-i, --include 在输出中包含协议响应头部
-k, --insecure 允许与不安全的服务器建立连接
--interface <name> 使用网络接口(或地址)
--ipfs-gateway <URL> IPFS的网关
-4, --ipv4 将名称解析为IPv4地址
-6, --ipv6 将名称解析为IPv6地址
--json <data> HTTP POST JSON数据
-j, --junk-session-cookies 忽略从文件中读取的会话Cookie
--keepalive-time <seconds> 保持活动探测的间隔时间
--key <key> 私钥文件名
--key-type <type> 私钥文件类型(DER/PEM/ENG)
--krb <level> 以<level>级别的安全性启用Kerberos
--libcurl <file> 将此命令行的libcurl等效代码转储到文件中
--limit-rate <speed> 限制传输速度为RATE
-l, --list-only 仅列出模式
--local-port <num/range> 强制使用RANGE作为本地端口号
-L, --location 跟随重定向
--location-trusted 类似于--location,同时在其他主机上发送身份验证
--login-options <options> 服务器登录选项
--mail-auth <address> 原始电子邮件的发件人地址
--mail-from <address> 发送此地址的邮件
--mail-rcpt <address> 发送邮件到此地址
--mail-rcpt-allowfails 允许某些收件人的RCPT TO命令失败
-M, --manual 显示完整的手册帮助信息
--max-filesize <bytes> 下载的最大文件大小
--max-redirs <num> 允许的最大重定向次数
-m, --max-time <分数秒>:传输允许的最长时间
--metalink:将给定的 URL 处理为 metalink XML 文件
--negotiate:使用 HTTP Negotiate(SPNEGO)身份验证
-n, --netrc:必须读取 .netrc 获取用户名和密码
--netrc-file <文件名>:指定用于 netrc 的文件
--netrc-optional:使用 .netrc 或 URL
-:--next:使下一个 URL 使用其单独的选项集
--no-alpn:禁用 ALPN TLS 扩展
-N, --no-buffer:禁用输出流的缓冲
--no-clobber:不要覆盖已经存在的文件
--no-keepalive:禁用连接上的 TCP keepalive
--no-npn:禁用 NPN TLS 扩展
--no-progress-meter:不显示进度条
--no-sessionid:禁用 SSL 会话 ID 重新使用
--noproxy <不使用代理的主机列表>:不使用代理的主机列表
--ntlm:使用 HTTP NTLM 身份验证
--ntlm-wb:使用带有 winbind 的 HTTP NTLM 身份验证
--oauth2-bearer <令牌>:OAuth 2 Bearer 令牌
-o, --output <文件>:写入文件而不是标准输出
--output-dir <目录>:保存文件的目录
-Z, --parallel:并行执行传输
--parallel-immediate:不等待多路复用(使用 --parallel)
--parallel-max <num>:并行传输的最大并发数
--pass <密码>:私钥的密码
--path-as-is:在 URL 路径中不压缩 .. 序列
--pinnedpubkey <哈希>:FILE/HASHES 可用于验证对等方的公钥
--post301:在遵循 301 后不切换到 GET
--post302:在遵循 302 后不切换到 GET
--post303:在遵循 303 后不切换到 GET
--preproxy [协议://]主机[:端口]:首先使用此代理
-#,--progress-bar:将传输进度显示为进度条
--proto <协议>:启用/禁用协议
--proto-default <协议>:对任何缺少方案的 URL 使用协议
--proto-redir <协议>:在重定向上启用/禁用协议
-x,--proxy [协议://]主机[:端口]:使用此代理
--proxy-anyauth:选择任何代理身份验证方法
--proxy-basic:在代理上使用基本身份验证
--proxy-ca-native:使用本机操作系统的 CA 证书进行代理
--proxy-cacert <文件>:用于验证代理对等方的 CA 证书
--proxy-capath <目录>:用于验证代理对等方的 CA 目录
--proxy-cert <cert [: passwd]>:为代理设置客户端证书
--proxy-cert-type <type>:HTTPS 代理的客户端证书类型
--proxy-ciphers <list>:用于代理的 SSL 密码
--proxy-crlfile <文件>:为代理设置 CRL 列表
--proxy-digest:在代理上使用摘要身份验证
--proxy-header <header / @ file>:将自定义标头传递到代理
--proxy-http2:使用 HTTPS 代理进行 HTTP/2
--proxy-insecure:在不验证代理的情况下进行 HTTPS 代理连接
--proxy-key <key>:HTTPS 代理的私钥
--proxy-key-type <type>:代理的私钥文件类型
--proxy-negotiate:在代理上使用 HTTP Negotiate(SPNEGO)身份验证
--proxy-ntlm:在代理上使用 NTLM 身份验证
--proxy-pass <密码>:HTTPS 代理的私钥密码
--proxy-pinnedpubkey <哈希>:FILE/HASHES 用于验证代理的公钥
--proxy-service-name <名称>:SPNEGO 代理服务名称
--proxy-ssl-allow-beast:允许用于 HTTPS 代理的安全漏洞
--proxy-ssl-auto-client-cert:使用自动客户端证书进行代理(Schannel)
--proxy-tls13-ciphers <密码套件列表>:TLS 1.3 代理密码套件
--proxy-tlsauthtype <type>:HTTPS 代理的 TLS 身份验证类型
--proxy-tlspassword <string>:HTTPS 代理的 TLS 密码
--proxy-tlsuser <名称>:HTTPS 代理的 TLS 用户名
--proxy-tlsv1:使用 HTTPS 代理的 TLSv1
-U,--proxy-user <用户:密码>:代理用户和密码
--proxy1.0 <host[:port]>:在给定端口上使用 HTTP/1.0 代理
-p,--proxytunnel:通过 HTTP 代理隧道操作(使用 CONNECT)
--pubkey <key>:SSH 公钥文件名
-Q, --quote <command>:在传输之前向服务器发送命令
--random-file <file>:从中读取随机数据的文件
-R, --remote-time 将远程文件的时间设置为本地输出的时间
--remove-on-error 在错误发生时删除输出文件
-X, --request <method> 指定要使用的请求方法
--request-target <path> 指定此请求的目标
--resolve <[+]host:port:addr[,addr]...> 将主机+端口解析为此地址
--retry <num> 如果发生临时问题,则重试请求
--retry-all-errors 重试所有错误(与 --retry 一起使用)
--retry-connrefused 在连接被拒绝时重试(与 --retry 一起使用)
--retry-delay <seconds> 重试之间的等待时间
--retry-max-time <seconds> 仅在此期间内重试
--sasl-authzid <identity> 用于 SASL PLAIN 认证的身份
--sasl-ir 启用 SASL 认证中的初始响应
--service-name <name> SPNEGO 服务名称
-S, --show-error 即使使用 -s,也显示错误
-s, --silent 静默模式
--socks4 <host[:port]> 使用给定的主机+端口的 SOCKS4 代理
--socks4a <host[:port]> 使用给定的主机+端口的 SOCKS4a 代理
--socks5 <host[:port]> 使用给定的主机+端口的 SOCKS5 代理
--socks5-basic 为 SOCKS5 代理启用用户名/密码身份验证
--socks5-gssapi 为 SOCKS5 代理启用 GSS-API 身份验证
--socks5-gssapi-nec 与 NEC SOCKS5 服务器兼容
--socks5-gssapi-service <name> 用于 GSS-API 的 SOCKS5 代理服务名称
--socks5-hostname <host[:port]> SOCKS5 代理,将主机名传递给代理
-Y, --speed-limit <speed> 停止速度低于此的传输
-y, --speed-time <seconds> 在此时间后触发 'speed-limit' 终止
--ssl 尝试 SSL/TLS
--ssl-allow-beast 允许安全漏洞以提高互操作性
--ssl-auto-client-cert 使用自动客户端证书(Schannel)
--ssl-no-revoke 禁用证书吊销检查(Schannel)
--ssl-reqd 要求 SSL/TLS
--ssl-revoke-best-effort 忽略缺失/离线证书 CRL 分发点(Schannel)
-2, --sslv2 使用 SSLv2
-3, --sslv3 使用 SSLv3
--stderr <file> 将 stderr 重定向到文件
--styled-output 启用 HTTP 头的样式化输出
--suppress-connect-headers 抑制代理 CONNECT 响应头
--tcp-fastopen 使用 TCP Fast Open
--tcp-nodelay 使用 TCP_NODELAY 选项
-t, --telnet-option <opt=val> 设置 Telnet 选项
--tftp-blksize <value> 设置 TFTP BLKSIZE 选项
--tftp-no-options 不发送任何 TFTP 选项
-z, --time-cond <time> 基于时间条件进行传输
--tls-max <VERSION> 设置允许的最大 TLS 版本
--tls13-ciphers <ciphersuite list> 使用的 TLS 1.3 密码套件
--tlsauthtype <type> TLS 认证类型
--tlspassword <string> TLS 密码
--tlsuser <name> TLS 用户名
-1, --tlsv1 使用 TLSv1.0 或更高版本
--tlsv1.0 使用 TLSv1.0 或更高版本
--tlsv1.1 使用 TLSv1.1 或更高版本
--tlsv1.2 使用 TLSv1.2 或更高版本
--tlsv1.3 使用 TLSv1.3 或更高版本
--tr-encoding 请求压缩传输编码
--trace <file> 将调试跟踪写入文件
--trace-ascii <file> 类似于 --trace,但不包含十六进制输出
--trace-config <string> 在跟踪/详细输出中记录的详细信息
--trace-ids 将传输和连接标识添加到跟踪/详细输出中
--trace-time 将时间戳添加到跟踪/详细输出中
--unix-socket <path> 通过此 Unix 域套接字连接
-T, --upload-file <file> 将本地文件传输到目标位置
--url <url> 要处理的 URL
--url-query <data> 添加 URL 查询部分
-B, --use-ascii 使用 ASCII/文本传输
-u, --user user:password 服务器用户和密码
-A, --user-agent <name> 向服务器发送 User-Agent <name>
--variable <[%]name=text/@file> 设置变量
-v, --verbose 使操作更加健谈
-V, --version 显示版本号并退出
-w, --write-out <format> 在完成后使用输出格式
--xattr 将元数据存储在扩展文件属性中