英语法语西班牙语

Ad


OnWorks 网站图标

curl - 在云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 curl

这是可以使用我们的多个免费在线工作站之一(例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器)在 OnWorks 免费托管服务提供商中运行的命令 curl

程序:

您的姓名


curl - 传输一个 URL

概要


卷曲 [选项] [网址...]

商品描述


卷曲 是一种使用支持​​的协议之一从服务器传输数据或向服务器传输数据的工具
(DICT、文件、FTP、FTPS、GOPHER、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、POP3、POP3S、RTMP、
RTSP、SCP、SFTP、SMB、SMBS、SMTP、SMTPS、TELNET 和 TFTP)。 该命令旨在工作
无需用户交互。

curl 提供了大量有用的技巧,例如代理支持、用户身份验证、FTP
上传、HTTP 发布、SSL 连接、cookie、文件传输恢复、Metalink 等。 作为
你会在下面看到,功能的数量会让你头晕目眩!

curl 由 libcurl 提供支持,用于所有与传输相关的功能。 看 libcurl(3) 了解详情。

网址


URL 语法依赖于协议。 您可以在 RFC 3986 中找到详细说明。

您可以通过在大括号内编写部分集来指定多个 URL 或 URL 的一部分,如下所示:

http://site.{一、二、三}.com

或者您可以使用 [] 获取字母数字系列的序列,如下所示:

ftp://ftp.numerics.com/file[1-100].txt

ftp://ftp.numerics.com/file[001-100].txt(带前导零)

ftp://ftp.letters.com/文件[az].txt

不支持嵌套序列,但您可以使用多个相邻的序列:

http://any.org/archive[1996-1999]/卷[1-4]/部分{a,b,c}.html

您可以在命令行上指定任意数量的 URL。 他们将在一个
以指定的顺序依次进行。

您可以为范围指定一个步数计数器以获取每个第 N 个数字或字母:

http://www.numericals.com/file[1-100:10].txt

http://www.letters.com/file[az:2].txt

从命令行提示符调用时使用 [] 或 {} 序列时,您可能有
将完整的 URL 放在双引号内,以避免 shell 干扰它。 这个
也适用于其他特殊处理的字符,例如“&”、“?” 和 '*'。

为 URL 中的 IPv6 区域索引提供转义的百分号和接口
姓名。 像

http://[fe80::3%25eth0]/

如果你指定的 URL 没有 protocol:// 前缀,curl 会尝试猜测是什么协议
你可能想要。 然后它将默认为 HTTP,但会尝试基于常用的其他协议
主机名前缀。 例如,对于以“ftp”开头的主机名。 curl 会假设你
想讲FTP。

curl 将尽最大努力将您传递给它的内容用作 URL。 它不是试图验证它
以任何方式作为语法正确的 URL 而是 非常 随随便便
接受。

curl 将尝试为多个文件传输重用连接,以便获得许多
来自同一服务器的文件不会进行多次连接/握手。 这提高了
速度。 当然,这只能在单个命令行上指定的文件上完成,不能
在单独的 curl 调用之间使用。

进展 仪表


curl 在操作过程中通常会显示一个进度表,指示
传输的数据、传输速度和估计剩余时间等。

curl 默认显示这些数据到终端,所以如果你调用 curl 来做一个
操作,即将向终端写入数据,它 禁用 进度表作为
否则它会弄乱输出混合进度表和响应数据。

如果你想要一个 HTTP POST 或 PUT 请求的进度表,你需要重定向
使用 shell 重定向 (>)、-o [file] 或类似方法将响应输出到文件。

FTP上传的情况不同,因为该操作不会吐出任何响应
数据到终端。

如果您更喜欢进度“条”而不是常规仪表, -# 是你的朋友。

配置


选项以一两个破折号开头。 许多选项接下来需要一个附加值
给他们。

选项的短“单破折号”形式,例如 -d,可以与或不与
它和它的值之间的空格,尽管空格是推荐的分隔符。 长的
“双破折号”形式,例如--data,它和它的值之间需要一个空格。

不需要任何附加值的短版本选项可以在接下来立即使用
彼此,例如,您可以一次指定所有选项 -O、-L 和 -v 作为
-OLv。

通常,所有布尔选项都启用 --选项 并再次禁用
--NO-选项。 也就是说,您使用完全相同的选项名称,但使用“no-”作为前缀。
但是,在此列表中,我们主要仅列出并显示它们的 --option 版本。 (这个
在 7.19.0 中添加了带有 --no 选项的概念。 以前大多数选项都是打开/关闭的
重复使用相同的命令行选项。)

-#, - 进度条
使 curl 显示进度作为一个简单的进度条而不是标准的,更多
信息, 仪表.

-:, - 下一个
告诉 curl 对以下 URL 和关联的 URL 使用单独的操作
选项。 这允许您发送多个 URL 请求,每个请求都有自己特定的
选项,例如不同的用户名或对每个的自定义请求。
(在 7.36.0 中添加)

-0,--http1.0
(HTTP) 告诉 curl 使用 HTTP 版本 1.0 而不是在内部使用
首选:HTTP 1.1。

--http1.1
(HTTP) 告诉 curl 使用 HTTP 版本 1.1。 这是内部默认版本。
(在 7.33.0 中添加)

--http2
(HTTP) 告诉 curl 使用 HTTP 2 发出其请求。这要求
底层 libcurl 是为了支持它而构建的。 (在 7.33.0 中添加)

--无-npn
禁用 NPN TLS 扩展。 如果 libcurl 是用构建的,则默认启用 NPN
一个支持 NPN 的 SSL 库。 支持 HTTP 2 的 libcurl 使用 NPN
在 https 会话期间与服务器协商 HTTP 2 支持。

(在 7.36.0 中添加)

--没有-alpn
禁用 ALPN TLS 扩展。 如果构建了 libcurl,则默认启用 ALPN
带有支持 ALPN 的 SSL 库。 ALPN 由支持的 libcurl 使用
HTTP 2 在 https 会话期间与服务器协商 HTTP 2 支持。

(在 7.36.0 中添加)

-1,--tlsv1
(SSL) 在与远程 TLS 服务器协商时,强制 curl 使用 TLS 版本 1.x。
您可以使用选项 --tlsv1.0, --tlsv1.1--tlsv1.2 控制TLS版本
更准确地说(如果使用的 SSL 后端支持这种级别的控制)。

-2,--sslv2
(SSL) 在与远程 SSL 服务器协商时,强制 curl 使用 SSL 版本 2。
有时 curl 是在不支持 SSLv2 的情况下构建的。 SSLv2 被广泛认为不安全
(参见 RFC 6176)。

-3,--sslv3
(SSL) 在与远程 SSL 服务器协商时,强制 curl 使用 SSL 版本 3。
有时 curl 是在不支持 SSLv3 的情况下构建的。 SSLv3 被广泛认为不安全
(参见 RFC 7568)。

-4,--ipv4
此选项告诉 curl 仅将名称解析为 IPv4 地址,而不是例如
试试 IPv6。

-6,--ipv6
此选项告诉 curl 仅将名称解析为 IPv6 地址,而不是例如
试试 IPv4。

-a,--追加
(FTP/SFTP) 在上传中使用时,这会使 curl 附加到目标文件
而不是覆盖它。 如果远程文件不存在,它将被创建。
请注意,某些 SFTP 服务器(包括 OpenSSH)会忽略此标志。

-A, --user-agent
(HTTP) 指定要发送到 HTTP 服务器的用户代理字符串。 有些做得不好
如果此字段未设置为“Mozilla/4.0”,则 CGI 将失败。 要对字符串中的空格进行编码,
用单引号将字符串括起来。 这也可以用 -H,
--标题 当然是选择。

如果多次使用此选项,将使用最后一个。

--anyauth
(HTTP) 告诉 curl 自己找出认证方法,并使用最多的
保护远程站点声称支持的一个。 这是通过首先执行请求来完成的
并检查响应头,从而可能导致额外的网络回合-
旅行。 这用于代替设置特定的身份验证方法,您可以使用该方法
可以做 - 基本的, - 消化, --ntlm- 谈判.

请注意,如果您从标准输入上传,不建议使用 --anyauth,因为它
可能需要发送两次数据,然后客户端必须能够倒带。 如果
从标准输入上传时需要,上传操作将失败。

-b, --cookie
(HTTP) 将数据作为 cookie 传递到 HTTP 服务器。 据说是数据
之前在“Set-Cookie:”行中从服务器收到。 数据应该在
格式“NAME1=VALUE1;NAME2=VALUE2”。

如果行中未使用“=”符号,则将其视为文件名以用于读取
以前存储的 cookie 行,如果它们应该在此会话中使用
比赛。 使用此方法还会激活 cookie 引擎,这将使 curl
也记录传入的 cookie,如果您结合使用它可能会很方便
-L, - 地点 选项。 要从中读取 cookie 的文件的文件格式
应该是纯 HTTP 标头或 Netscape/Mozilla cookie 文件格式。

指定的文件 -b, - 曲奇饼 仅用作输入。 没有饼干
写入文件。 要存储 cookie,请使用 -C, - 饼干罐 选项。

如果您使用此选项,请谨慎操作,可能会发生多次传输。 如果
你使用 NAME1=VALUE1; 格式,或者在文件中使用 Set-Cookie 格式并且不要
指定一个域,然后为任何域发送 cookie(即使在重定向之后
后)并且不能被服务器设置的 cookie 修改。 如果 cookie 引擎是
启用并且服务器设置了一个同名的 cookie 然后两者都将被发送到一个
将来转移到该服务器,可能不是您想要的。 为了解决这些
问题在 Set-Cookie 中设置一个域(这样做将包括子域)或使用
网景格式。

如果多次使用此选项,将使用最后一个。

-B,--使用ASCII
(FTP/LDAP) 启用 ASCII 传输。 对于 FTP,这也可以通过使用
以“;type=A”结尾的 URL。 此选项使发送到 stdout 的数据以文本形式显示
win32系统模式。

- 基本的
(HTTP) 告诉 curl 对远程主机使用 HTTP 基本身份验证。 这是
默认和这个选项通常是没有意义的,除非你用它来覆盖一个
先前设置的选项用于设置不同的身份验证方法(例如 --ntlm,
- 消化- 谈判).

与一起使用 -你, - 用户-X, - 代理.

参见 --代理基本.

-c, --cookie-jar
(HTTP) 指定您希望 curl 在完成后将所有 cookie 写入哪个文件
手术。 Curl 写入先前从指定文件中读取的所有 cookie 以及
从远程服务器收到的所有 cookie。 如果没有 cookie 是已知的,则不会有任何数据
被写。 该文件将使用 Netscape cookie 文件格式写入。 如果你
将文件名设置为单个破折号“-”,cookie 将写入标准输出。

此命令行选项将激活进行 curl 记录和
使用 cookie。 激活它的另一种方法是使用 -b, - 曲奇饼 选项。

如果无法创建或写入 cookie jar,则整个 curl 操作将不会
失败甚至清楚地报告错误。 使用 -v 会显示警告,但是
这是您在这种可能致命的情况下获得的唯一可见反馈。

从 7.43.0 开始,以 Set-Cookie 格式导入的 cookie 没有域
此选项不导出名称。

如果多次使用此选项,将使用最后指定的文件名。

-C, --continue-at
在给定的偏移量处继续/恢复先前的文件传输。 给定的偏移量是
将被跳过的确切字节数,从开头开始计数
源文件传输到目标之前。 如果与上传一起使用,则
curl 不会使用 FTP 服务器命令 SIZE。

使用“-C -”告诉 curl 自动找出恢复传输的位置/方式。
然后它使用给定的输出/输入文件来解决这个问题。

如果多次使用此选项,将使用最后一个。

--密码
(SSL) 指定要在连接中使用的密码。 密码列表必须
指定有效的密码。 阅读此 URL 上的 SSL 密码列表详细信息:
https://www.openssl.org/docs/apps/ciphers.html

NSS 密码的实现方式与 OpenSSL 和 GnuTLS 不同。 NSS的完整列表
ciphers 位于此 URL 的 NSSCipherSuite 条目中:
https://git.fedorahosted.org/cgit/mod_nss.git/plain/docs/mod_nss.html#Directives

如果多次使用此选项,将使用最后一个。

--压缩
(HTTP) 使用 curl 支持的算法之一请求压缩响应,以及
保存未压缩的文档。 如果使用此选项并且服务器发送一个
不支持的编码,curl 会报错。

--连接超时
您允许 curl 连接占用的最长时间(以秒为单位)。 这只限制
连接阶段,因此如果 curl 在给定时间内连接,它将继续
- 如果不是,它将退出。 从 7.32.0 版开始,此选项接受十进制值。

另见 -米, --最大时间 选项。

如果多次使用此选项,将使用最后一个。

--创建目录
当与 -o 选项,curl 将创建必要的本地
需要的目录层次结构。 此选项创建与 -o
选项,没有别的。 如果 -o 文件名不使用目录或者它提到的目录
已经存在,不会创建目录。

要在使用 FTP 或 SFTP 时创建远程目录,请尝试 --ftp-创建目录.

--crlf 在上传时将 LF 转换为 CRLF。 对 MVS (OS/390) 有用。

(SMTP 在 7.40.0 中添加)

--crl文件
(HTTPS/FTPS) 使用 PEM 格式提供带有证书吊销列表的文件
可以指定将被视为撤销的对等证书。

如果多次使用此选项,将使用最后一个。

(在 7.19.7 中添加)

-d, --data
(HTTP) 将 POST 请求中的指定数据发送到 HTTP 服务器,以相同的方式
当用户填写 HTML 表单并按下
提交按钮。 这将导致 curl 使用
内容类型应用程序/x-www-form-urlencoded。 相比于 -F, - 形式.

-d, - 数据 是相同的 --数据-ascii. --数据原始 几乎相同,但不一样
对@ 字符有特殊解释。 要发布纯二进制数据,您
应该改为使用 --数据二进制 选项。 对表单的值进行 URL 编码
您可能使用的字段 --数据-urlencode.

如果在同一命令行上多次使用这些选项中的任何一个,则数据
指定的部分将与一个分隔 & 符号合并在一起。 因此,使用
'-d name=daniel -d Skill=lousy' 会生成一个看起来像的帖子块
'姓名=丹尼尔&技能=糟糕'。

如果数据以字母@开头,剩下的应该是一个文件名来读取
数据来自,或者 - 如果您希望 curl 从标准输入读取数据。 多个文件可以
也予以规定。 因此,从名为“foobar”的文件中发布数据将完成
- 数据 @foobar。 当 --data 被告知从这样的文件中读取时,回车
和换行符将被删除。 如果您不希望 @ 字符具有
特殊解释使用 --数据原始 代替。

-D, --dump-header
将协议头写入指定的文件。

当您想要存储 HTTP 站点的标头时,此选项很方便
发给你。 然后可以在第二个 curl 中读取来自标题的 Cookie
通过使用调用 -b, - 曲奇饼 选项! 这 -C, - 饼干罐 选项是
更好的方式来存储 cookie。

在 FTP 中使用时,FTP 服务器响应行被认为是“标题”和
因此被保存在那里。

如果多次使用此选项,将使用最后一个。

--data-ascii
我们 -d, - 数据.

--数据二进制
(HTTP) 这完全按照指定的方式发布数据,没有任何额外的处理。

如果数据以字母@ 开头,其余的应该是文件名。 数据是
以类似的方式发布 --数据-ascii 确实如此,除了换行符和回车
返回被保留并且转换从未完成。

如果多次使用此选项,则第一个后面的将附加数据
如中所述 -d, - 数据.

--data-raw
(HTTP) 这类似于发布数据 - 数据 但没有特别解释
@ 字符的。 看 -d, - 数据. (在 7.43.0 中添加)

--data-urlencode
(HTTP) 这会发布数据,类似于其他 --data 选项,除了
这将执行 URL 编码。 (在 7.18.0 中添加)

为了符合 CGI, 部分应该以 姓名 其次是
分隔符和内容规范。 这部分可以传递给 curl 使用
以下语法之一:

内容
这将使 curl URL 编码内容并将其传递。 小心点
以便内容不包含任何 = 或 @ 符号,因为那样会
使语法匹配以下其他情况之一!

=内容
这将使 curl URL 编码内容并将其传递。 前面的 =
符号不包含在数据中。

名称=内容
这将使 curl URL 编码内容部分并将其传递。 注意
名称部分预计已经是 URL 编码的。

@文档名称
这将使 curl 从给定文件(包括任何换行符)加载数据,
对该数据进行 URL 编码并在 POST 中传递它。

名称@文件名
这将使 curl 从给定文件(包括任何换行符)加载数据,
对该数据进行 URL 编码并在 POST 中传递它。 名称部分获得相等
附加符号,导致 名称=urlencoded-file-content. 注意名字
预计已经是 URL 编码的。

--委托级别
LEVEL 告诉服务器在涉及用户时允许委托什么
证书。 与 GSS/kerberos 一起使用。

none 不允许任何委托。

当且仅当 Kerberos 中设置了 OK-AS-DELEGATE 标志时才委托策略
服务票证,这是领域政策的问题。

总是无条件地允许服务器委托。

- 消化
(HTTP) 启用 HTTP 摘要身份验证。 这是一个身份验证方案
防止密码以明文形式通过网络发送。 使用这个
与正常结合 -你, - 用户 选项来设置用户名和密码。 看
--ntlm, - 谈判--anyauth 相关选项。

如果多次使用此选项,则仅使用第一个。

--禁用-eprt
(FTP) 告诉 curl 在执行活动时禁用 EPRT 和 LPRT 命令
FTP 传输。 Curl 通常总是首先尝试使用 EPRT,然后是 LPRT
在使用 PORT 之前,但使用此选项,它将立即使用 PORT。 EPRT 和 LPRT
是原始 FTP 协议的扩展,可能不适用于所有服务器,但
它们以比传统 PORT 命令更好的方式启用更多功能。

--eprt 可用于再次显式启用 EPRT 和 --无-eprt 是的别名
--禁用-eprt.

禁用 EPRT 只会更改活动行为。 如果你想切换到被动
您不需要使用的模式 -P, --ftp-端口 或强迫它 --ftp-pasv.

--禁用-epsv
(FTP) 告诉 curl 在执行被动 FTP 时禁用 EPSV 命令
转让。 Curl 通常总是在 PASV 之前首先尝试使用 EPSV,但是
使用此选项,它不会尝试使用 EPSV。

--epsv 可用于再次显式启用 EPSV 和 --无-epsv 是的别名
--禁用-epsv.

禁用 EPSV 只会改变被动行为。 如果你想切换到活跃
你需要使用的模式 -P, --ftp-端口.

--dns-接口
告诉 curl 通过发送传出的 DNS 请求. 这个选项是一个
对应 - 界面 (这不影响 DNS)。 提供的字符串必须是
接口名称(不是地址)。

此选项要求 libcurl 是使用支持的解析器后端构建的
这个操作。 c-ares 后端是唯一一个这样的后端。 (在 7.33.0 中添加)

--dns-ipv4-addr
告诉 curl 绑定到在发出 IPv4 DNS 请求时,使 DNS
请求来自这个地址。 参数应该是单个 IPv4 地址。

此选项要求 libcurl 是使用支持的解析器后端构建的
这个操作。 c-ares 后端是唯一一个这样的后端。 (在 7.33.0 中添加)

--dns-ipv6-addr
告诉 curl 绑定到在发出 IPv6 DNS 请求时,使 DNS
请求来自这个地址。 参数应该是单个 IPv6 地址。

此选项要求 libcurl 是使用支持的解析器后端构建的
这个操作。 c-ares 后端是唯一一个这样的后端。 (在 7.33.0 中添加)

--dns-服务器
设置要使用的 DNS 服务器列表,而不是系统默认值。 名单
IP 地址应该用逗号分隔。 端口号也可以是可选的
给出为 在每个 IP 地址之后。

此选项要求 libcurl 是使用支持的解析器后端构建的
这个操作。 c-ares 后端是唯一一个这样的后端。 (在 7.33.0 中添加)

-e, --referer
(HTTP) 将“Referrer Page”信息发送到 HTTP 服务器。 这也可以
设置与 -H, --标题 当然是国旗。 当与 -L, - 地点 您可以
将 ";auto" 附加到 --referer URL 以使 curl 自动设置上一个 URL
当它跟随 Location: 标题时。 ";auto" 字符串可以单独使用,即使
您没有设置初始 --referer。

如果多次使用此选项,将使用最后一个。

-E, --cert
(SSL) 告诉 curl 在获取文件时使用指定的客户端证书文件
使用 HTTPS、FTPS 或其他基于 SSL 的协议。 证书必须在 PKCS#12
格式(如果使用安全传输)或 PEM 格式(如果使用任何其他引擎)。 如果
未指定可选密码,将在终端上查询。 笔记
此选项假定“证书”文件是私钥和
客户端证书连接! 看 --证书- 钥匙 指定它们
独立地。

如果 curl 是针对 NSS SSL 库构建的,则此选项可以告诉 curl
在 NSS 数据库中使用的证书的昵称
环境变量 SSL_DIR(或默认情况下 /etc/pki/nssdb)。 如果 NSS PEM PKCS#11
模块 (libnsspem.so) 可用,然后可以加载 PEM 文件。 如果你想使用
当前目录下的一个文件,请在它前面加上“./”前缀,以便
避免与昵称混淆。 如果昵称包含“:”,则需要
前面有“\”,这样它就不会被识别为密码分隔符。 如果
昵称中包含“\”,需要转义为“\\”以免被识别
作为转义字符。

(仅限 iOS 和 Mac OS X)如果 curl 是针对安全传输构建的,则
证书字符串可以是证书/私钥的名称
系统或用户钥匙串,或 PKCS#12 编码的证书和私有证书的路径
钥匙。 如果要使用当前目录中的文件,请在它前面加上
“./”前缀,以避免与昵称混淆。

如果多次使用此选项,将使用最后一个。

- 引擎
选择用于密码操作的 OpenSSL 加密引擎。 用 - 引擎 名单
打印构建时支持的引擎列表。 请注意,并非所有(或没有)
引擎可能在运行时可用。

- 环境
(仅限 RISC OS)设置一系列环境变量,使用名称 -w 选项
支持,以便在运行 curl 后更容易提取有用的信息。

--egd-文件
(SSL) 指定熵收集守护进程套接字的路径名。 插座是
用于为 SSL 连接设置随机引擎。 另见 --随机文件
选项。

--expect100-超时
(HTTP) 允许 curl 等待 100-continue 的最长时间(以秒为单位)
curl 在其请求中发出 Expects: 100-continue 标头时的响应。 默认情况下
curl 将等待一秒钟。 此选项接受十进制值! 当卷曲停止时
等待,它将继续,就好像已收到响应一样。

(在 7.47.0 中添加)

--cert-type
(SSL) 告诉 curl 所提供证书的证书类型。PEM、DER 和
ENG 是公认的类型。 如果未指定,则假定为 PEM。

如果多次使用此选项,将使用最后一个。

--cacert
(SSL) 告诉 curl 使用指定的证书文件来验证对等方。 文件
可能包含多个 CA 证书。 证书必须是 PEM 格式。
通常 curl 被构建为为此使用默认文件,因此此选项通常是
用于更改该默认文件。

如果设置了名为“CURL_CA_BUNDLE”的环境变量,curl 会识别它,并且
使用给定的路径作为 CA 证书包的路径。 此选项覆盖
变量。

Windows 版本的 curl 会自动查找名为的 CA 证书文件
'curl-ca-bundle.crt',与 curl.exe 位于同一目录中,或在 Current
工作目录,或在 PATH 中的任何文件夹中。

如果 curl 是针对 NSS SSL 库构建的,则 NSS PEM PKCS#11 模块
(libnsspem.so) 需要可用才能使此选项正常工作。

如果多次使用此选项,将使用最后一个。

--capath
(SSL) 告诉 curl 使用指定的证书目录来验证对等方。
可以通过用“:”分隔它们来提供多个路径(例如
“路径 1:路径 2:路径 3”)。 证书必须是 PEM 格式,并且如果构建了 curl
针对 OpenSSL,必须使用 c_rehash 实用程序处理过该目录
随 OpenSSL 提供。 使用 --卡帕斯 可以允许基于 OpenSSL 的 curl 使 SSL-
连接比使用更有效 --cacert 如果 --cacert 文件包含
许多 CA 证书。

如果设置了这个选项,默认的 capath 值将被忽略,如果它被使用
多次使用最后一个。

--pinnedpubkey
(SSL) 告诉 curl 使用指定的公钥文件(或哈希)来验证
同行。 这可以是包含 PEM 或 DER 中的单个公钥的文件的路径
格式,或任意数量的 base64 编码的 sha256 哈希值,前面有 ‘sha256//’ 和
用‘;’隔开

在协商 TLS 或 SSL 连接时,服务器发送一个证书,表明
它的身份。 从此证书中提取公钥,如果没有
与提供给此选项的公钥完全匹配,curl 将中止
在发送或接收任何数据之前连接。

在 7.39.0 中为 OpenSSL、GnuTLS 和 GSKit 添加。 在 7.43.0 中为 NSS 和
wolfSSL/CyaSSL。 在 256 中为 OpenSSL、GnuTLS、NSS 和
wolfSSL/CyaSSL。 不支持其他 SSL 后端。

如果多次使用此选项,将使用最后一个。

--证书状态
(SSL) 告诉 curl 通过使用
证书状态请求(又名 OCSP 装订)TLS 扩展。

如果启用此选项并且服务器发送无效(例如过期)响应,
如果响应表明服务器证书已被吊销,或者没有
完全收到响应,验证失败。

这目前仅在 OpenSSL、GnuTLS 和 NSS 后端中实现。 (添加
在7.41.0中)

--假开始

(SSL) 告诉 curl 在 TLS 握手期间使用错误启动。 误启动是一种模式
TLS 客户端将在验证之前开始发送应用程序数据
服务器的 Finished 消息,从而在执行完整操作时节省了往返时间
握手。

这目前仅在 NSS 和安全传输中实现(在 iOS 7.0 或
或 OS X 10.9 或更高版本)后端。 (在 7.42.0 中添加)

-f, --失败
(HTTP) 在服务器错误时静默失败(根本没有输出)。 这主要是为了
更好地启用脚本等以更好地处理失败的尝试。 在正常情况下,当
HTTP 服务器未能传送文档,它返回一个 HTML 文档,说明如此
(这通常也描述了为什么和更多)。 此标志将防止卷曲
输出并返回错误 22。

这种方法不是万无一失的,有时会出现响应不成功的情况
代码会漏掉,尤其是在涉及身份验证时(响应代码
401和407)。

-F, --form
(HTTP) 这让 curl 模拟一个填写的表单,其中用户按下了
提交按钮。 这会导致 curl 使用 Content-Type multipart/form- POST 数据
数据根据 RFC 2388。这可以上传二进制文件等。强制
'content' 部分是一个文件,用@ 符号作为文件名的前缀。 只是得到
文件的内容部分,在文件名前加上符号 <。 这
@ 和 < 之间的区别是 @ 使文件附加在帖子中
一个文件上传,而 < 制作一个文本字段并获取它的内容
文件中的文本字段。

例如,将您的密码文件发送到服务器,其中“密码”是
表单域 / etc / passwd文件 将是输入:

卷曲 -F 密码=@/ etc / passwd文件 www.mypasswords.com

要从标准输入而不是文件读取内容,请使用 - 作为文件名。 这适用于
@ 和 < 结构。 不幸的是,它不支持从
命名管道或类似的,因为它在传输开始之前需要全尺寸。

您还可以通过使用“type=”以某种方式告诉 curl 要使用的内容类型
相似:

卷曲 -F ”[电子邮件保护];type=text/html" url.com

or

卷曲 -F "name=daniel;type=text/foo" url.com

您还可以通过设置显式更改文件上传部分的名称字段
文件名=,像这样:

卷曲 -F "file=@localfile;filename=nameinpost" url.com

如果文件名/路径包含 ',' 或 ';',则必须用双引号引起来,例如:

卷曲 -F "file=@\"localfile\";filename=\"nameinpost\"" url.com

or

卷曲 -F 'file="localfile";filename="nameinpost"' url.com

请注意,如果文件名/路径被双引号引用,则任何双引号或
文件名中的反斜杠必须用反斜杠转义。

请参阅手册中的更多示例和详细信息。

此选项可以多次使用。

--ftp-account [数据]
(FTP) 当 FTP 服务器在用户名和密码输入后要求“帐户数据”时
如果已提供,则使用 ACCT 命令发送此数据。 (在 7.13.0 中添加)

如果多次使用此选项,将使用最后一个。

--ftp-alternative-to-user
(FTP) 如果使用 USER 和 PASS 命令验证失败,请发送此命令。
使用客户端通过 FTPS 连接到 Tumbleweed 的安全传输服务器时
证书,使用“SITE AUTH”将告诉服务器从中检索用户名
证书。 (在 7.15.5 中添加)

--ftp-创建目录
(FTP/SFTP) 当 FTP 或 SFTP URL/操作使用当前没有的路径时
存在于服务器上,curl 的标准行为是失败。 使用此选项,
curl 将尝试创建丢失的目录。

--ftp-方法 [方法]
(FTP) 控制 curl 应该使用什么方法来访问 FTP(S) 服务器上的文件。 这
方法参数应该是以下选项之一:

多线程
curl 对给定 URL 中的每个路径部分执行单个 CWD 操作。 为了
深层次这意味着非常多的命令。 这就是 RFC 1738 所说的
需要被完成。 这是默认但最慢的行为。

nocwd curl 根本没有 CWD。 curl 会做 SIZE、RETR、STOR 等,并给出一个完整的
所有这些命令的服务器路径。 这是最快的行为。

单身狗
curl 使用完整的目标目录执行一次 CWD,然后对
文件“正常”(如在 multicwd 情况下)。 这个标准有点多
比 'nocwd' 兼容,但没有 'multicwd' 的全部惩罚。

(在 7.15.1 中添加)

--ftp-pasv
(FTP) 使用被动模式进行数据连接。 被动是内部默认值
行为,但使用此选项可用于覆盖以前的 -P/-ftp-端口
选项。 (在 7.11.0 中添加)

如果多次使用此选项,则仅使用第一个。 撤销一个
强制被动确实是不可行的,但你必须改为强制执行正确的
-P, --ftp-端口 一次。

被动模式意味着 curl 会先尝试 EPSV 命令,然后是 PASV,除非
--禁用-epsv 用来。

--ftp-跳过-pasv-ip
(FTP) 告诉 curl 不要使用服务器在其响应中建议的 IP 地址
当 curl 连接数据连接时 curl 的 PASV 命令。 相反 curl 会重新
使用它已经用于控制连接的相同 IP 地址。 (添加在
7.14.2)

如果使用 PORT、EPRT 或 EPSV 而不是 PASV,则此选项无效。

--ftp-pret
(FTP) 告诉 curl 在 PASV(和 EPSV)之前发送 PRET 命令。 某些 FTP 服务器,
主要是 drftpd,需要此非标准命令用于目录列表以及
以 PASV 模式启动和下载。 (在 7.20.x 中添加)

--ftp-ssl-ccc
(FTP) Use CCC (Clear Command Channel) 在之后关闭 SSL/TLS 层
认证。 其余的控制通道通信将是未加密的。
这允许 NAT 路由器跟踪 FTP 事务。 默认模式是被动的。
我们 --ftp-ssl-ccc-模式 对于其他模式。 (在 7.16.1 中添加)

--ftp-ssl-ccc-mode [主动/被动]
(FTP) Use CCC (Clear Command Channel) 设置 CCC 模式。 被动模式不会
启动关闭,而是等待服务器执行,并且不会回复
从服务器关闭。 主动模式启动关机等待
来自服务器的回复。 (在 7.16.2 中添加)

--ftp-ssl-控制
(FTP) FTP 登录需要 SSL/TLS,传输时清除。 允许安全
身份验证,但非加密数据传输以提高效率。 失败
如果服务器不支持 SSL/TLS,则传输。 (在 7.16.0 中添加)仍然可以
会被使用,但会在以后的版本中删除。

--表单字符串
(HTTP) 类似于 - 形式 除了命名参数的值字符串是
字面上使用。 前导 '@' 和 '<' 字符,以及 ';type=' 字符串
value 没有特殊含义。 优先使用它 - 形式 如果有的话
字符串值可能会意外触发 '@' 或 '<' 功能的可能性
of - 形式.

-g,--globoff
此选项关闭“URL globbing parser”。 当您设置此选项时,您
可以指定包含字母 {}[] 的 URL,而不需要它们
由 curl 本身解释。 请注意,这些字母不是正常的合法 URL
内容,但它们应该根据 URI 标准进行编码。

-G,--得到
使用时,此选项将使指定的所有数据 -d, - 数据, --数据二进制
or --数据-urlencode 用于 HTTP GET 请求而不是 POST 请求
否则会被使用。 数据将附加到带有“?”的 URL 中。
分隔器。

如果与 -I 结合使用,POST 数据将改为附加到 URL
带有 HEAD 请求。

如果多次使用此选项,则仅使用第一个。 这是因为
撤消 GET 没有意义,但您应该改为强制执行
您喜欢的替代方法。

-H, --header
(HTTP) 将 HTTP 发送到服务器时要包含在请求中的额外标头。 你
可以指定任意数量的额外标题。 请注意,如果您应该添加自定义
与 curl 将使用的内部标题之一同名的标题,您的
将使用外部设置的标头而不是内部的标头。 这使您可以
制作比 curl 通常更棘手的东西。 你不应该更换
在不完全了解您在做什么的情况下在内部设置标题。 删除一个
内部标题通过在右侧提供没有内容的替换
冒号,如:-H "Host:"。 如果您发送没有值的自定义标头,则它的
标头必须以分号结尾,例如 -H "X-Custom-Header;" 发送
“X-自定义标题:”。

curl 将确保您添加/替换的每个标头都以正确的结尾发送-
离线标记,你应该因此 不能 将其添加为标题内容的一部分:做
不添加换行符或回车符,它们只会给您带来麻烦。

另见 -一种, - 用户代理-e, --推荐人 选项​​。

从 7.37.0 开始,您需要 --代理头 发送用于
代理。

示例:

# curl -H "X-名字:Joe" http://192.168.0.1/

警告:使用此选项设置的标头将在所有请求中设置 - 即使在之后
遵循重定向,就像被告知时一样 -L, - 地点. 这可能导致
标头被发送到原始主机以外的其他主机,因此敏感标头
结合以下重定向应谨慎使用。

此选项可以多次使用以添加/替换/删除多个标题。

--hostpubmd5
(SCP/SFTP) 传递一个包含 32 个十六进制数字的字符串。 字符串应该是
远程主机公钥的 128 位 MD5 校验和,curl 将拒绝
除非 md5sums 匹配,否则与主机连接。 (在 7.17.1 中添加)

--忽略内容长度
对于 HTTP,忽略 Content-Length 标头。 这对服务器特别有用
运行 Apache 1.x,对于较大的文件,它会报告不正确的 Content-Length
超过 2 GB。

对于 FTP(自 7.46.0 起),跳过 RETR 命令以计算之前的大小
下载文件。

-i,--包括
(HTTP) 在输出中包含 HTTP 标头。 HTTP 标头包括诸如
服务器名称、文档日期、HTTP 版本等...

-我,--头
(HTTP/FTP/FILE) 仅获取 HTTP 标头! HTTP 服务器具有命令 HEAD
这用来获取文档的标题。 当用于 FTP 或
FILE 文件,curl 只显示文件大小和最后修改时间。

- 界面
使用指定的接口执行操作。 可以输入接口名称、IP
地址或主机名。 一个例子可能如下所示:

卷曲 --interface eth0:1 http://www.netscape.com/

如果多次使用此选项,将使用最后一个。

-j, --垃圾会话cookies
(HTTP) 当 curl 被告知从给定文件中读取 cookie 时,此选项将使
它丢弃所有“会话 cookie”。 这将基本上具有相同的效果,就好像
新会话开始。 典型的浏览器总是在以下情况下丢弃会话 cookie
他们关门了。

-J, --远程标头名称
(HTTP) 这个选项告诉 -O, --远程名称 使用服务器指定的选项
Content-Disposition 文件名,而不是从 URL 中提取文件名。

没有尝试在提供的文件名中解码 %-sequences(还),所以这个
选项可能会为您提供相当意外的文件名。

-k, --不安全
(SSL) 此选项明确允许 curl 执行“不安全”的 SSL 连接和
转让。 尝试使用 CA 确保所有 SSL 连接的安全
默认安装证书包。 这使得所有连接都被考虑
“不安全”失败,除非 -k, --不安全 用来。

有关更多详细信息,请参阅此在线资源:
http://curl.haxx.se/docs/sslcerts.html

-K, --config
指定从哪个配置文件读取 curl 参数。 配置文件是一个文本
可以在其中写入命令行参数的文件,然后将其用作
它们是写在实际的命令行上的。

选项及其参数必须在同一配置文件行中指定,
由空格、冒号或等号分隔。 长选项名称可以
可以选择在没有初始双破折号的配置文件中给出,如果是这样,
冒号或等号字符可用作分隔符。 如果选项是
用一或两个破折号指定,中间不能有冒号或等号字符
选项及其参数。

如果参数要包含空格,则参数必须包含在
引号。 在双引号内,可以使用以下转义序列:\\、\"、
\t、\n、\r 和 \v。 任何其他字母前面的反斜杠将被忽略。 如果第一个
配置行的列是一个“#”字符,该行的其余部分将被视为
一条评论。 在配置文件中的每一行只写一个选项。

将文件名指定为 -K,--config 为 '-' 以使 curl 从 stdin 读取文件。

请注意,为了能够在配置文件中指定 URL,您需要指定它
使用 --网址 选项,而不是简单地将 URL 写在自己的行上。 所以
可能与此类似:

url =“http://curl.haxx.se/docs/"

当调用 curl 时,它总是(除非 -q 使用)检查默认配置
文件并在找到时使用它。 在下面检查默认配置文件
按此顺序放置:

1) curl 试图找到“主目录”:它首先检查 CURL_HOME 然后
HOME 环境变量。 如果失败,它在类 Unix 上使用 getpwuid()
系统(它返回给定系统中当前用户的主目录)。 在
Windows,然后检查 APPDATA 变量,或者作为最后的手段
'%USERPROFILE%\应用程序数据'。

2) 在 windows 上,如果 home 目录中没有 _curlrc 文件,它会检查一个
放置 curl 可执行文件的相同目录。 在类 Unix 系统上,它会简单地
尝试从确定的主目录加载 .curlrc。

# --- 示例文件 ---
#这是一条评论
url = "curl.haxx.se"
输出 = "curlhere.html"
用户代理 = "superagent/1.0"

# 并获取另一个 URL
url = "curl.haxx.se/docs/manpage.html"
-O
推荐人 = "http://nowhereatall.com/"
# --- 示例文件结束 ---

此选项可以多次使用以加载多个配置文件。

--保活时间
此选项设置连接在发送之前需要保持空闲的时间
keepalive 探测和各个 keepalive 探测之间的时间。 目前是
在提供 TCP_KEEPIDLE 和 TCP_KEEPINTVL 套接字的操作系统上有效
选项(指 Linux、最新的 AIX、HP-UX 等)。 此选项在以下情况下无效
--不保活 用来。 (在 7.18.0 中添加)

如果多次使用此选项,将使用最后一个。 如果未指定,
该选项默认为 60 秒。

- 钥匙
(SSL/SSH) 私钥文件名。 允许您在此提供您的私钥
单独的文件。 对于 SSH,如果未指定,curl 会尝试以下候选者
命令: '〜/ .ssh / id_rsa','〜/ .ssh / id_dsa', './id_rsa', './id_dsa'。

如果多次使用此选项,将使用最后一个。

--key-type
(SSL) 私钥文件类型。 指定您的类型 - 钥匙 提供的私钥是。
支持 DER、PEM 和 ENG。 如果未指定,则假定为 PEM。

如果多次使用此选项,将使用最后一个。

--krb
(FTP) 启用 Kerberos 身份验证和使用。 必须输入级别并且应该
是“清晰”、“安全”、“机密”或“私人”之一。 你应该使用一个级别
这不是其中之一,而是使用“私人”。

此选项需要使用 kerberos4 支持构建的库。 这不是很
常见的。 用 -V, - 版 看看你的 curl 是否支持它。

如果多次使用此选项,将使用最后一个。

-l, --仅列出
(FTP) 当列出一个 FTP 目录时,这个开关强制一个名称视图。 这是
如果用户想要机器解析 FTP 的内容,则特别有用
目录,因为普通目录视图不使用标准外观或格式。
像这样使用时,该选项会导致将 NLST 命令发送到服务器
而不是列表。

注意:一些 FTP 服务器在响应 NLST 时只列出文件; 他们不
包括子目录和符号链接。

(POP3) 从 POP3 检索特定电子邮件时,此开关强制使用 LIST
要执行的命令而不是 RETR。 如果用户
想查看服务器上是否存在特定的消息 ID 以及它的大小。

注意:当与 -X, - 要求 , 此选项可用于发送
一个 UIDL 命令,所以用户可以使用电子邮件的唯一标识符而不是
比发出请求的消息ID。 (在 7.21.5 中添加)

-L,--位置
(HTTP/HTTPS) 如果服务器报告请求的页面已移动到不同的
位置(用 Location: 标头和 3XX 响应代码表示),此选项
将使 curl 在新地方重做请求。 如果与 -一世,
- 包括 or -一世, - 头, 将显示所有请求页面的标题。 什么时候
使用身份验证,curl 只将其凭据发送到初始主机。 如果一个
重定向将 curl 带到不同的主机,它将无法拦截
用户+密码。 也可以看看 --位置可信 关于如何改变这一点。 您可以限制
使用 --最大重设次数 选项。

当 curl 跟随重定向并且请求不是普通的 GET(例如 POST
或 PUT),如果 HTTP 响应为 301,它将使用 GET 执行以下请求,
302 或 303。如果响应代码是任何其他 3xx 代码,curl 将重新发送
以下请求使用相同的未修改方法。

您可以告诉 curl 在 30 倍之后不要将非 GET 请求方法更改为 GET
通过使用专用选项来响应: --post301, --post302
-post303.

--libcurl
将此选项附加到任何普通的 curl 命令行,您将获得一个 libcurl-
使用写入文件的 C 源代码
命令行操作呢!

如果多次使用此选项,将使用最后一个给定的文件名。 (添加
在7.16.1中)

--限制率
指定您希望 curl 使用的最大传输速率 - 用于下载和
上传。 如果您的管道有限并且希望您的
传输不使用您的整个带宽。 使它比其他情况慢
将会。

除非附加后缀,否则给定的速度以字节/秒为单位。
附加 'k' 或 'K' 会将数字计算为千字节,'m' 或 M' 使其成为
兆字节,而 'g' 或 'G' 使其成为千兆字节。 示例:200K、3m 和 1G。

给定的速率是整个传输过程中计算的平均速度。 它的意思是
curl 可能会在短时间内使用更高的传输速度,但随着时间的推移它会使用
不超过给定的费率。

如果您还使用 -Y, - 速度极限 选项,该选项将优先并且
可能会略微削弱限速,以帮助保持限速逻辑
加工。

如果多次使用此选项,将使用最后一个。

--本地端口[-数]
设置用于连接的首选数量或本地端口号范围。
请注意,端口号本质上是一种稀有资源,有时会很忙
因此将此范围设置得太窄可能会导致不必要的连接
设置失败。 (在 7.15.2 中添加)

--位置可信
(HTTP/HTTPS) 喜欢 -L, - 地点, 但将允许将名称 + 密码发送给所有人
站点可能会重定向到的主机。 这可能会也可能不会引入安全性
如果该站点将您重定向到您将向其发送身份验证的站点,则违规
info(在 HTTP 基本身份验证的情况下是纯文本)。

-m, --max-time
您允许整个操作花费的最长时间(以秒为单位)。 这很有用
用于防止您的批处理作业因网络或链接缓慢而挂起数小时
下降。 从 7.32.0 开始,此选项接受十进制值,但实际
超时将随着指定的超时以十进制增加而降低准确性
精确。 另见 --连接超时 选项。

如果多次使用此选项,将使用最后一个。

--登录选项
指定在服务器身份验证期间使用的登录选项。

您可以使用登录选项来指定可能使用的协议特定选项
在认证过程中。 目前只有 IMAP、POP3 和 SMTP 支持登录选项。
有关登录选项的更多信息,请参阅 RFC 2384、RFC 5092 和 IETF
草案 Draft-earhart-url-smtp-00.txt(在 7.34.0 中添加)。

如果多次使用此选项,将使用最后一个。

--mail-auth
(SMTP) 指定单个地址。 这将用于指定身份验证
正在中继到另一台服务器的已提交消息的地址(身份)。

(在 7.25.0 中添加)

--mail-from
(SMTP) 指定发送给定邮件的单个地址。

(在 7.20.0 中添加)

--最大文件大小
指定要下载的文件的最大大小(以字节为单位)。 如果请求的文件是
大于此值,传输将不会开始并且 curl 将返回并退出
代码 63。

注意: 下载之前并不总是知道文件大小,对于此类文件,
即使文件传输最终大于此给定值,该选项也无效
限制。 这涉及 FTP 和 HTTP 传输。

--mail-rcpt
(SMTP) 指定单个地址、用户名或邮寄名单名称。

执行邮件传输时,收件人应指定有效的电子邮件地址
将邮件发送至。 (在 7.20.0 中添加)

在执行地址验证(VRFY 命令)时,收件人应该是
指定为用户名或用户名和域(根据 RFC3.5 的第 5321 节)。
(在 7.34.0 中添加)

当执行邮件列表扩展(EXPN 命令)时,收件人应该是
使用邮件列表名称指定,例如“Friends”或“London-Office”。
(在 7.34.0 中添加)

--max-redirs
设置允许的最大重定向跟随数。 如果 -L, - 地点 用来,
此选项可用于防止 curl 遵循“荒谬”的重定向。
默认情况下,限制设置为 50 次重定向。 将此选项设置为 -1 以使其
无限。

如果多次使用此选项,将使用最后一个。

--元链接
此选项可以告诉 curl 将给定的 URI 解析和处理为 Metalink 文件(两者都是
版本 3 和 4 (RFC 5854) 受支持)并利用其中列出的镜像
如果出现错误(例如文件或服务器不可用),则用于故障转移。
它还将在下载完成后验证文件的哈希值。 金属链
文件本身是在内存中下载和处理的,而不是存储在本地文件中
系统。

使用远程 Metalink 文件的示例:

卷曲 --元链接 http://www.example.com/example.metalink

要在本地文件系统中使用 Metalink 文件,请使用 FILE 协议(file://):

卷曲 --metalink 文件://example.metalink

请注意,如果禁用了 FILE 协议,则无法使用本地
撰写本文时的 Metalink 文件。 还要注意,如果 --元链接
- 包括 一起使用, - 包括 将被忽略。 这是因为包括
响应中的标头将破坏 Metalink 解析器,如果包含标头
在Metalink 文件中描述的文件中,哈希检查将失败。

(如果针对 libmetalink 库构建,则在 7.27.0 中添加。)

-n,--netrc
使 curl 扫描 .netrc (_网盘 在 Windows 上)用户主目录中的文件
用于登录名和密码。 这通常用于 Unix 上的 FTP。 如果与
HTTP,curl 将启用用户身份验证。 看 网盘(5) FTP(1) 有关详细信息
文件格式。 如果该文件没有正确的权限,Curl 不会抱怨
(它不应该是世界或组可读的)。 环境变量“HOME”
用于查找主目录。

一个快速且非常简单的示例,说明如何设置 .netrc 允许 curl 到 FTP
用户名“myself”和密码“secret”的机器host.domain.com应该
看起来类似于:

主机域名.com 登录 我自己 密码 秘密

-N,--无缓冲区
禁用输出流的缓冲。 在正常工作情况下,curl 会
使用一个标准的缓冲输出流,它会输出
数据块中的数据,不一定是数据到达的确切时间。 使用这个
选项将禁用该缓冲。

请注意,这是记录的否定选项名称。 您可以因此使用 - 缓冲
强制缓冲。

--netrc-文件
此选项类似于 --netrc,除非您提供路径(绝对或
相对于 Curl 应该使用的 netrc 文件。 您只能指定一个 netrc
每次调用的文件。 如果几个 --netrc-文件 提供了选项,只有 最后
一种 将会被使用。 (在 7.21.5 中添加)

此选项覆盖任何使用 --netrc 因为它们是相互排斥的。 它会
也遵守 --netrc-可选 如果指定。

--netrc-可选
非常相似 --netrc,但是这个选项使得 .netrc 使用 可选 并不是
强制性作为 --netrc 选项。

- 谈判
(HTTP) 启用协商 (SPNEGO) 身份验证。

如果要为代理身份验证启用协商 (SPNEGO),请使用
--代理协商.

此选项需要使用 GSS-API 或 SSPI 支持构建的库。 用 -V,
- 版 查看您的 curl 是否支持 GSS-API/SSPI 和 SPNEGO。

使用此选项时,您还必须提供一个假的 -你, - 用户 激活选项
验证码正确。 发送 '-u :' 作为用户名就足够了
密码来自 -u 选项实际上并未使用。

如果多次使用此选项,则仅使用第一个。

--不保活
禁用 TCP 连接上的 keepalive 消息,默认情况下 curl
使他们。

请注意,这是记录的否定选项名称。 您可以因此使用 - 活着
强制保持连接。

--无会话ID
(SSL) 禁用 curl 对 SSL session-ID 缓存的使用。 默认情况下,所有传输都是
使用缓存完成。 请注意,虽然尝试不应该伤害任何东西
重用 SSL 会话 ID,似乎在野外有破坏的 SSL 实现
可能需要您禁用此功能才能成功。 (在 7.16.0 中添加)

请注意,这是记录的否定选项名称。 您可以因此使用 --会话ID
强制执行会话 ID 缓存。

--noproxy
不使用代理的主机的逗号分隔列表(如果指定)。 这
只有通配符是一个 * 字符,它匹配所有主机,并且有效
禁用代理。 此列表中的每个名称都匹配为一个域
包含主机名或主机名本身。 例如,local.com 将匹配
local.com、local.com:80 和 www.local.com,但不包括 www.notlocal.com。 (添加在
7.19.4)。

--ntlm (HTTP) 启用 NTLM 身份验证。 NTLM 身份验证方法是由
Microsoft 并由 IIS Web 服务器使用。 它是一个专有协议,反向
由聪明人设计并根据他们的努力在 curl 中实现。 这个
那种行为不应该被认可,你应该鼓励每个使用
NTLM 改为切换到公共和记录的身份验证方法,例如
消化。

如果要为代理身份验证启用 NTLM,请使用 --代理-ntlm.

此选项需要使用 SSL 支持构建的库。 用 -V, - 版 看看是否
您的 curl 支持 NTLM。

如果多次使用此选项,则仅使用第一个。

-o, --输出
将输出写入而不是标准输出。 如果您使用 {} 或 [] 来获取
多个文档,您可以使用“#”后跟一个数字说明符。
该变量将替换为正在获取的 URL 的当前字符串。
像:

curl http://{one,two}.site.com -o "file_#1.txt"

或使用几个变量,如:

curl http://{site,host}.host[1-5].com -o "#1_#2"

您可以根据您拥有的 URL 数量多次使用此选项。

另见 --创建目录 动态创建本地目录的选项。
将输出指定为“-”(单个破折号)将强制输出完成
标准输出。

-O,--远程名称
将输出写入一个本地文件,类似于我们得到的远程文件。 (仅文件部分
使用远程文件,路径被切断。)

用于保存的远程文件名是从给定的 URL 中提取的,没有
其他。

因此,该文件将保存在当前工作目录中。 如果你
要将文件保存在不同的目录中,请确保更改当前工作
在使用 curl 调用 curl 之前的目录 -O, --远程名称 旗帜!

没有对文件名进行 URL 解码。 如果它有 %20 或其他 URL 编码
名称的一部分,它们将按原样作为文件名结束。

您可以根据您拥有的 URL 数量多次使用此选项。

--oauth2 承载者
(IMAP、POP3、SMTP)指定用于 OAUTH 2.0 服务器身份验证的承载令牌。
Bearer Token 与可指定的用户名结合使用
作为部分 --网址 or -你, - 用户 选项​​。

Bearer Token 和用户名的格式符合 RFC 6750。

如果多次使用此选项,将使用最后一个。

--代理头
(HTTP) 将 HTTP 发送到代理时要包含在请求中的额外标头。 你可以
指定任意数量的额外标题。 这是等效的选项 -H, --标题
但仅用于代理通信,就像在 CONNECT 请求中一样,当您需要
单独的标头发送到代理到发送到实际远程主机的内容。

curl 将确保您添加/替换的每个标头都以正确的结尾发送-
离线标记,你应该因此 不能 将其添加为标题内容的一部分:做
不添加换行符或回车符,它们只会给您带来麻烦。

使用此选项指定的标头将不会包含在 curl 知道的请求中
不会被发送到代理。

此选项可以多次使用以添加/替换/删除多个标题。

(在 7.37.0 中添加)

-p,--代理隧道
当使用 HTTP 代理时 (-X, - 代理),这个选项会导致非HTTP协议
尝试通过代理隧道,而不是仅仅使用它来做类似 HTTP 的事情
操作。 隧道方法是通过 HTTP 代理 CONNECT 请求和
要求代理允许直接连接到 curl 想要的远程端口号
隧道通过。

-P, --ftp-port
(FTP) 在与 FTP 连接时反转默认发起者/侦听者角色。 这个
switch 使 curl 使用主动模式。 在实践中,curl 然后告诉服务器
连接回客户端指定的地址和端口,而被动模式会询问
服务器设置 IP 地址和端口以供其连接。 应该
成为其中之一:

接口
即“eth0”指定您要使用哪个接口的IP地址(Unix
只有)

IP地址
即“192.168.10.1”指定确切的IP地址

主机名
即“my.host.domain”指定机器

- 使 curl 选择已用于控件的相同 IP 地址
地都

如果多次使用此选项,将使用最后一个。 禁用使用
端口与 --ftp-pasv. 禁用尝试使用 EPRT 命令而不是 PORT
通过使用 --禁用-eprt. EPRT 真的是 PORT++。

从 7.19.5 开始,您可以在地址右侧附加“:[start]-[end]”,以
告诉 curl 要使用的 TCP 端口范围。 这意味着您指定一个端口范围,从
降低到更高的数字。 单个数字也可以,但请注意它
由于端口可能不可用,因此增加了失败的风险。

- 经过
(SSL/SSH) 私钥的密码

如果多次使用此选项,将使用最后一个。

--路径原样
告诉 curl 不处理 /../ or /./ 在给定的 URL 路径中。 一般
curl 将根据标准压缩或合并它们,但使用此选项可以设置您
告诉它不要那样做。

(在 7.42.0 中添加)

--post301
(HTTP) 告诉 curl 遵守 RFC 7230/6.4.2 并且不将 POST 请求转换为 GET
遵循 301 重定向时的请求。 非 RFC 行为无处不在
web 浏览器,所以 curl 默认会进行转换以保持一致性。
但是,服务器可能需要 POST 以在此类重定向后保持 POST。
这个选项只有在使用时才有意义 -L, - 地点 (在 7.17.1 中添加)

--post302
(HTTP) 告诉 curl 遵守 RFC 7230/6.4.3 并且不将 POST 请求转换为 GET
遵循 302 重定向时的请求。 非 RFC 行为无处不在
web 浏览器,所以 curl 默认会进行转换以保持一致性。
但是,服务器可能需要 POST 以在此类重定向后保持 POST。
这个选项只有在使用时才有意义 -L, - 地点 (在 7.19.1 中添加)

--post303
(HTTP) 告诉 curl 遵守 RFC 7230/6.4.4 并且不将 POST 请求转换为 GET
遵循 303 重定向时的请求。 非 RFC 行为无处不在
web 浏览器,所以 curl 默认会进行转换以保持一致性。
但是,服务器可能需要 POST 以在此类重定向后保持 POST。
这个选项只有在使用时才有意义 -L, - 地点 (在 7.26.0 中添加)

--proto
告诉 curl 使用列出的协议进行初始检索。 协议是
从左到右计算,以逗号分隔,每个都是协议名称或
'all',可选地以零个或多个修饰符为前缀。 可用的修饰符有:

+ 除了已经允许的协议之外,还允许此协议(这是
如果未使用修饰符,则默认)。

- 拒绝此协议,将其从已允许的协议列表中删除。

= 仅允许此协议(忽略已允许的列表),但主题
稍后由逗号分隔列表中的后续条目进行修改。

例如:

--原型 -ftp 使用默认协议,但禁用 ftps

--原型 -所有,https,+http
只启用 http 和 https

--原型 =http,https
也只启用 http 和 https

未知协议产生警告。 这允许脚本安全地依赖于
能够禁用潜在危险的协议,而不依赖于对
该协议被内置到 curl 中以避免错误。

该选项可以多次使用,此时效果与
将协议连接到选项的一个实例中。

(在 7.20.2 中添加)

--proto-default
告诉 curl 使用 协议 对于任何缺少方案名称的 URL。

示例:

--proto-default https ftp.mozilla.org
https://ftp.mozilla.org

未知或不受支持的协议导致错误 CURLE_UNSUPPORTED_PROTOCOL.

此选项不会更改默认代理协议 (http)。

如果没有此选项 curl 会根据主机进行猜测,请参阅 --网址 了解详情。

(在 7.45.0 中添加)

--proto-redir
告诉 curl 在重定向时使用列出的协议。 有关协议的方式,请参阅 --proto
被代表。

示例:

--proto-redir -all,http,https
重定向时仅允许 HTTP 和 HTTPS。

默认情况下,curl 将允许重定向的所有协议,但出于安全原因禁用的几个协议除外
原因:由于7.19.4 FILE和SCP被禁用,因为7.40.0 SMB和SMBS也被禁用
禁用。 指定 所有 or +全部 启用重定向的所有协议,包括那些
为安全起见禁用。

(在 7.20.2 中添加)

--代理-anyauth
告诉 curl 在与
给定代理。 这可能会导致额外的请求/响应往返。 (添加在
7.13.2)

--代理基本
告诉 curl 在与给定的通信时使用 HTTP 基本身份验证
代理。 用 - 基本的 用于在远程主机上启用 HTTP Basic。 基本是默认值
curl 与代理一起使用的身份验证方法。

--代理摘要
告诉 curl 在与给定的通信时使用 HTTP Digest 身份验证
代理。 用 - 消化 用于使用远程主机启用 HTTP 摘要。

--代理协商
在与 curl 通信时告诉 curl 使用 HTTP 协商 (SPNEGO) 身份验证
给定的代理。 用 - 谈判 用于通过远程启用 HTTP 协商 (SPNEGO)
主持人。 (在 7.17.1 中添加)

--代理-ntlm
告诉 curl 在与给定代理通信时使用 HTTP NTLM 身份验证。
使用 --ntlm 用于通过远程主机启用 NTLM。

--代理服务名称
此选项允许您更改代理协商的服务名称。

示例:--proxy-negotiate 代理名称 --代理服务名称 sockd 会使用
sockd/代理名称。 (在 7.43.0 中添加)。

--proxy1.0
使用指定的 HTTP 1.0 代理。 如果未指定端口号,则为
假设在端口 1080。

这与 HTTP 代理选项之间的唯一区别(-X, - 代理), 就是它
尝试通过代理使用 CONNECT 将指定 HTTP 1.0 协议代替
默认 HTTP 1.1。

--公钥
(SSH) 公钥文件名。 允许您在这个单独的文件中提供您的公钥
文件中。

如果多次使用此选项,将使用最后一个。

(从 7.39.0 开始,curl 尝试自动从
私钥文件,因此通常不需要传递此选项。 请注意,这
公钥提取需要将 libcurl 链接到 libssh2 1.2.8 的副本
或更高,它本身与 OpenSSL 相关联。)

-q 如果用作命令行的第一个参数,则 卷曲 配置文件不会
被阅读和使用。 见 -K, --配置 有关默认配置文件的详细信息
搜索路径。

-Q, --quote
(FTP/SFTP) 向远程 FTP 或 SFTP 服务器发送任意命令。 引用
命令在传输发生之前发送(就在初始 PWD 之后
FTP 传输中的命令,准确地说)。 使命令发生在一个
成功传输,在它们前面加上一个破折号“-”。 使命令在之后发送
curl 更改了工作目录,就在传输命令之前,前缀
带有“+”的命令(仅 FTP 支持)。 您可以指定任何数字
命令。 如果服务器对其中一个命令返回失败,则整个
操作将被中止。 您必须将语法正确的 FTP 命令作为 RFC 发送
959 定义到 FTP 服务器,或下面列出的命令之一到 SFTP 服务器。
此选项可以多次使用。 与 FTP 服务器通话时,在
带有星号 (*) 的命令,即使命令失败,也会使 curl 继续
默认 curl 将在第一次失败时停止。

SFTP 是一种二进制协议。 与 FTP 不同,curl 解释 SFTP 引用命令
在将它们发送到服务器之前。 文件名可以用 shell 样式引用到
嵌入空格或特殊字符。 以下是所有支持的 SFTP 列表
引用命令:

chgrp 组文件
chgrp 命令将文件操作数命名的文件的组 ID 设置为
组操作数指定的组 ID。 组操作数是一个小数
整数组 ID。

chmod 模式文件
chmod 命令修改指定文件的文件模式位。 这
模式操作数是一个八进制整数模式数。

chown 用户文件
chown 命令将文件操作数命名的文件的所有者设置为
用户操作数指定的用户 ID。 用户操作数是十进制
整数用户 ID。

ln 源文件 目标文件
ln 和 symlink 命令在 target_file 创建一个符号链接
location 指向 source_file 位置。

mkdir 目录名
mkdir 命令创建由 directory_name 操作数命名的目录。

pwd pwd 命令返回当前工作的绝对路径名
目录。

重命名源目标
rename 命令重命名源操作数命名的文件或目录
到目标操作数命名的目标路径。

rm文件
rm 命令删除由文件操作数指定的文件。

rmdir 目录
rmdir 命令删除目录指定的目录项
操作数,前提是它为空。

符号链接 source_file target_file
见 ln。

-r, --range
(HTTP/FTP/SFTP/FILE) 从一个文件中检索一个字节范围(即部分文档)
HTTP/1.1、FTP 或 SFTP 服务器或本地文件。 可以用数字指定范围
的方式。

0-499 指定前 500 个字节

500-999 指定第二个 500 字节

-500 指定最后 500 个字节

9500- 指定从偏移量 9500 开始的字节数

0-0,-1 仅指定第一个和最后一个字节(*)(HTTP)

100-199,500-599
指定两个单独的 100 字节范围(*) (HTTP)

(*) = 请注意,这将导致服务器以多部分响应进行回复!

只有数字字符 (0-9) 在“开始”和“停止”字段中有效
“开始-停止”范围语法。 如果在范围内给出了一个非数字字符,则
服务器的响应将是未指定的,具体取决于服务器的配置。

你也应该知道很多 HTTP/1.1 服务器没有这个功能
启用,这样当您尝试获取范围时,您将获得整个范围
文档。

FTP 和 SFTP 范围下载仅支持简单的“开始-停止”语法
(可选地省略其中一个数字)。 FTP 使用取决于扩展的 FTP
命令大小。

如果多次使用此选项,将使用最后一个。

-R,--远程时间
使用时,这将使 curl 尝试找出远程的时间戳
文件,如果可用,则使本地文件获得相同的时间戳。

--随机文件
(SSL) 指定包含将被视为随机内容的文件的路径名
数据。 该数据用于为 SSL 连接设置随机引擎的种子。 另见
--egd-文件 选项。

--raw (HTTP) 使用时,它会禁用内容或传输的所有内部 HTTP 解码
编码,而是让它们原封不动地传递。 (在 7.16.2 中添加)

--远程名称全部
此选项更改要处理的所有给定 URL 的默认操作,就好像
-O, --远程名称 被用于每一个。 所以如果你想禁用它
之后的具体网址 --远程名称全部 已被使用,必须使用“-o -”或 - 不-
远程名称. (在 7.19.0 中添加)

- 解决
为特定主机和端口对提供自定义地址。 使用这个,你可以
使 curl 请求使用指定的地址并防止其他情况
要使用的通常解析的地址。 认为它是一种 / etc / hosts文件 替代
在命令行中提供。 端口号应该是用于
主机将用于的特定协议。 这意味着您需要多个条目,如果
您想为同一主机但不同的端口提供地址。

可以多次使用此选项来添加要解析的许多主机名。

(在 7.21.3 中添加)

- 重试
如果 curl 尝试执行传输时返回暂时错误,它将
在放弃之前重试此次数。 将数字设置为 0 会使 curl 执行
不重试(这是默认设置)。 瞬时错误意味着:超时、FTP
4xx 响应代码或 HTTP 5xx 响应代码。

当 curl 即将重试传输时,它会先等待一秒钟,然后等待
所有即将进行的重试都会使等待时间加倍,直到达到 10 分钟
这将是其余重试之间的延迟。 通过使用 - 重试-
延迟 您禁用此指数退避算法。 也可以看看 --重试最大时间
限制允许重试的总时间。 (在 7.12.3 中添加)

如果多次使用此选项,将使用最后一个。

--重试延迟
当传输失败时,在每次重试之前让 curl 休眠这段时间
具有瞬态错误(它将默认退避时间算法更改为
重试)。 此选项仅在以下情况下才有趣 - 重试 也被使用。 设置这个
延迟为零将使 curl 使用默认的退避时间。 (在 7.12.3 中添加)

如果多次使用此选项,将使用最后一个。

--重试最大时间
重试计时器在第一次传输尝试之前重置。 重试将作为
通常(见 - 重试) 只要计时器未达到此给定限制。 注意
如果计时器还没有达到限制,请求将被提出,而
执行,它可能需要比这个给定的时间段更长的时间。 限制单个
请求的最长时间,使用 -米, --最大时间. 将此选项设置为零以不超时
重试。 (在 7.12.3 中添加)

如果多次使用此选项,将使用最后一个。

-s, --沉默
静音或安静模式。 不要显示进度表或错误消息。 使卷曲
沉默的。 它仍然会输出您要求的数据,甚至可能输出到
终端/标准输出,除非你重定向它。

--sasl-ir
在 SASL 身份验证中启用初始响应。 (在 7.31.0 中添加)

- 服务名称
此选项允许您更改 SPNEGO 的服务名称。

示例:--negotiate - 服务名称 sockd 将使用 sockd/server-name。 (添加在
7.43.0)。

-S,--显示错误
当与 -s 如果它失败,它会使 curl 显示错误消息。

--ssl (FTP, POP3, IMAP, SMTP) 尝试使用 SSL/TLS 进行连接。 恢复到非
如果服务器不支持 SSL/TLS,则安全连接。 也可以看看 --ftp-ssl-
控制--ssl-reqd 需要不同级别的加密。 (添加在
7.20.0)

此选项以前称为 --ftp-ssl (在 7.11.0 中添加)。 该选项名称可以
仍在使用,但将在未来版本中删除。

--ssl-reqd
(FTP、POP3、IMAP、SMTP)连接需要 SSL/TLS。 终止
如果服务器不支持 SSL/TLS,则连接。 (在 7.20.0 中添加)

此选项以前称为 --ftp-ssl-reqd (在 7.15.5 中添加)。 那个选项
name 仍然可以使用,但将在未来版本中删除。

--ssl-允许野兽
(SSL) 此选项告诉 curl 不解决 SSL3 中的安全漏洞,并且
TLS1.0 协议称为BEAST。 如果未使用此选项,则 SSL 层可能会使用
已知会导致与某些旧 SSL 的互操作性问题的解决方法
实现。 警告:此选项会放松 SSL 安全性,并通过使用此选项
标志你要求的正是那个。 (在 7.25.0 中添加)

--ssl-不撤销
(WinSSL) 此选项告诉 curl 禁用证书吊销检查。 警告:
此选项会放松 SSL 安全性,通过使用此标志,您可以准确地要求
那。 (在 7.44.0 中添加)

--socks4
使用指定的 SOCKS4 代理。 如果未指定端口号,则假定
在端口 1080。(在 7.15.2 中添加)

此选项会覆盖任何以前使用的 -X, - 代理, 因为它们是相互的
排斥。

自 7.21.7 起,此选项是多余的,因为您可以使用
-X, - 代理 使用socks4:// 协议前缀。

如果多次使用此选项,将使用最后一个。

--socks4a
使用指定的 SOCKS4a 代理。 如果未指定端口号,则假定
在端口 1080。(在 7.18.0 中添加)

此选项会覆盖任何以前使用的 -X, - 代理, 因为它们是相互的
排斥。

自 7.21.7 起,此选项是多余的,因为您可以使用
-X, - 代理 使用socks4a:// 协议前缀。

如果多次使用此选项,将使用最后一个。

--socks5-主机名
使用指定的 SOCKS5 代理(并让代理解析主机名)。 如果
未指定端口号,假定为1080端口。(7.18.0新增)

此选项会覆盖任何以前使用的 -X, - 代理, 因为它们是相互的
排斥。

从 7.21.7 开始,这个选项是多余的,因为你可以指定一个 socks5 主机名
代理与 -X, - 代理 使用socks5h:// 协议前缀。

如果多次使用此选项,将使用最后一个。 (这个选项是
以前错误地记录并用作 --socks 没有附加数字。)

--socks5
使用指定的 SOCKS5 代理 - 但在本地解析主机名。 如果端口
number 未指定,假定在端口 1080。

此选项会覆盖任何以前使用的 -X, - 代理, 因为它们是相互的
排斥。

自 7.21.7 起,此选项是多余的,因为您可以使用
-X, - 代理 使用socks5:// 协议前缀。

如果多次使用此选项,将使用最后一个。 (这个选项是
以前错误地记录并用作 --socks 没有附加数字。)

此选项(以及 --袜子4) 不适用于 IPV6、FTPS 或 LDAP。

--socks5-gssapi-service
袜子服务器的默认服务名称是 rcmd/server-fqdn。 此选项允许
你来改变它。

示例:--socks5 代理名称 --socks5-gssapi-服务 sockd 将使用 sockd/proxy-
名称 --socks5 代理名称 --socks5-gssapi-服务 sockd/实名将使用
sockd/real-name 用于代理名称与主体名称不匹配的情况。
(在 7.19.4 中添加)。

--socks5-gssapi-nec
作为 GSS-API 协商的一部分,协商保护模式。 RFC 1961 说
在第 4.3/4.4 节中它应该受到保护,但 NEC 参考实现
才不是。 选项 --socks5-gssapi-nec 允许无保护的交换
保护模式协商。 (在 7.19.4 中添加)。

--stderr
将所有对 stderr 的写入重定向到指定的文件。 如果文件名是
普通的“-”,而是写入标准输出。

如果多次使用此选项,将使用最后一个。

-t, --telnet-option
将选项传递给 telnet 协议。 支持的选项有:

类型= 设置终端类型。

XDISPLOC= 设置 X 显示位置。

NEW_ENV= 设置环境变量。

-T, --upload-file
这会将指定的本地文件传输到远程 URL。 如果没有文件部分
在指定的 URL 中,Curl 会附加本地文件名。 请注意,您必须使用
最后一个目录上的尾随 / 以真正向 Curl 证明没有文件
name 或 curl 会认为你的最后一个目录名是远程文件名
用。 这很可能会导致上传操作失败。 如果这用于
HTTP(S) 服务器,将使用 PUT 命令。

使用文件名“-”(单破折号)来使用 stdin 而不是给定的文件。
或者,文件名“.” (单个句点)可以指定而不是“-”来
在非阻塞模式下使用 stdin 以允许在 stdin 被读取时读取服务器输出
上传。

您可以在命令行上为每个 URL 指定一个 -T。 每个 -T + URL 对
指定上传什么和上传到哪里。 curl 还支持 -T 的“通配”
参数,这意味着您可以使用
URL 中支持相同的 URL globbing 样式,如下所示:

curl -T "{file1,file2}" http://www.uploadtothissite.com

甚至

curl -T "img[1-1000].png" loading="lazy" ftp://ftp.picturemania.com/上传/

--tcp-nodelay
打开 TCP_NODELAY 选项。 见 卷曲_easy_setopt(3) 详细信息手册页
关于这个选项。 (在 7.11.2 中添加)

--tftp-blksize
(TFTP) 设置 TFTP BLKSIZE 选项(必须 >512)。 这是 curl 的块大小
将尝试在向 TFTP 服务器传输数据或从 TFTP 服务器传输数据时使用。 默认 512
字节将被使用。

如果多次使用此选项,将使用最后一个。

(在 7.20.0 中添加)

--tlsauthtype
设置 TLS 身份验证类型。 目前,唯一支持的选项是“SRP”,对于
TLS-SRP (RFC 5054)。 如果 --tls用户--tls密码 被指定但 --tlsauthtype
不是,则此选项默认为“SRP”。 (在 7.21.4 中添加)

--tlspassword
设置密码以与指定的 TLS 身份验证方法一起使用
--tlsauthtype. 要求 --tls用户 也可以设置。 (在 7.21.4 中添加)

--tlsuser
设置用于指定的 TLS 身份验证方法的用户名
--tlsauthtype. 要求 --tls密码 也可以设置。 (在 7.21.4 中添加)

--tlsv1.0
(SSL) 与远程 TLS 服务器协商时,强制 curl 使用 TLS 1.0 版。
(在 7.34.0 中添加)

--tlsv1.1
(SSL) 与远程 TLS 服务器协商时,强制 curl 使用 TLS 1.1 版。
(在 7.34.0 中添加)

--tlsv1.2
(SSL) 与远程 TLS 服务器协商时,强制 curl 使用 TLS 1.2 版。
(在 7.34.0 中添加)

--tr-编码
(HTTP) 使用其中一种算法请求压缩的传输编码响应
curl 支持并在接收数据时解压缩数据。

(在 7.21.6 中添加)

- 痕迹
启用所有传入和传出数据的完整跟踪转储,包括描述性数据
信息,到给定的输出文件。 使用“-”作为文件名发送输出
到标准输出。

此选项覆盖以前的使用 -v, --详细 or --trace-ascii.

如果多次使用此选项,将使用最后一个。

--trace-ascii
启用所有传入和传出数据的完整跟踪转储,包括描述性数据
信息,到给定的输出文件。 使用“-”作为文件名发送输出
到标准输出。

这非常类似于 - 痕迹, 但省略了十六进制部分,只显示
转储的 ASCII 部分。 它使较小的输出可能更容易阅读
未经训练的人类。

此选项覆盖以前的使用 -v, --详细 or - 痕迹.

如果多次使用此选项,将使用最后一个。

--跟踪时间
为 curl 显示的每个跟踪或详细行添加时间戳。 (添加在
7.14.0)

--unix-socket
(HTTP) 通过这个 Unix 域套接字连接,而不是使用网络。
(在 7.40.0 中添加)

-u, --user
指定用于服务器验证的用户名和密码。 覆盖 -n,
--netrc--netrc-可选.

如果您只是指定用户名,curl 将提示输入密码。

用户名和密码在第一个冒号上分开,这使得它
使用此选项无法在用户名中使用冒号。 密码可以,
仍然。

在基于 Windows 的服务器上使用 Kerberos V5 时,您应该包括 Windows
用户名中的域名,以便服务器成功获取
Kerberos 票证。 如果不这样做,则初始身份验证握手可能会失败。

使用 NTLM 时,用户名可以简单地指定为用户名,而不需要
域,例如,如果您的设置中有单个域和林。

要指定域名,请使用下级登录名或 UPN(用户主体
名称)格式。 例如,EXAMPLE\user 和 [电子邮件保护]

如果您使用启用了 Windows SSPI 的 curl 二进制文件并执行 Kerberos V5、协商、
NTLM 或 Digest 身份验证,然后您可以告诉 curl 选择用户名和
通过使用此选项指定单个冒号来从您的环境中获取密码:“-u
:“。

如果多次使用此选项,将使用最后一个。

-U, --proxy-user
指定用于代理身份验证的用户名和密码。

如果您使用启用了 Windows SSPI 的 curl 二进制文件并执行协商或 NTLM
身份验证然后您可以告诉 curl 从中选择用户名和密码
通过使用此选项指定单个冒号来您的环境:“-U :”。

如果多次使用此选项,将使用最后一个。

--url
指定要获取的 URL。 当您要指定 URL 时,此选项非常方便
在一个配置文件中。

如果给定的 URL 缺少方案名称(例如“http://”或“ftp://”等),则
curl 将根据主机进行猜测。 如果最外面的子域名匹配
DICT、FTP、IMAP、LDAP、POP3 或 SMTP 则将使用该协议,否则使用 HTTP
将会被使用。 由于可以通过设置默认协议来禁用 7.45.0 猜测,
看到 --原型默认值 了解详情。

此选项可以使用任意次数。 要控制此 URL 的写入位置,
使用 -o, - 输出 或者 -O, --远程名称 选项​​。

-v,--详细
在操作过程中更加冗长/健谈。 用于调试和查看
“幕后”发生了什么。 以“>”开头的行表示发送的“头数据”
通过 curl,'<' 表示 curl 接收到的在正常情况下隐藏的“标题数据”,
以“*”开头的行表示 curl 提供的附加信息。

请注意,如果您只想要输出中的 HTTP 标头, -一世, - 包括 可能是
您正在寻找的选项。

如果您认为此选项仍然没有提供足够的详细信息,请考虑使用
- 痕迹 or --trace-ascii 代替。

此选项覆盖以前的使用 --trace-ascii or - 痕迹.

使用 -是的, - 沉默的 使卷曲安静。

-w, --写出
完成传输后,使 curl 在 stdout 上显示信息。 格式是一个
可能包含与任意数量的变量混合的纯文本的字符串。 格式
可以指定为文字“字符串”,或者您可以让 curl 从
带有“@filename”的文件并告诉 curl 从您编写的标准输入中读取格式
“@-”。

输出格式中存在的变量将被值或文本替换
curl 认为合适,如下所述。 所有变量都指定为
%{variable_name} 并输出正常的 % 您只需将它们写为 %%。 你可以输出
使用 \n 的换行符,使用 \r 的回车和使用 \t 的制表符空间。

注意: %-symbol 是 win32-environment 中的一个特殊符号,其中所有
使用此选项时,% 的出现次数必须加倍。

可用的变量有:

内容类型 请求文档的内容类型(如果有)。

文件名_有效
curl 写出的最终文件名。 这只是
如果 curl 被告知用 --远程名称
or - 输出 选项。 与
--远程标头名称 选项。 (在 7.25.1 中添加)

ftp_入口_路径 登录远程FTP时的初始路径curl
服务器。 (在 7.15.4 中添加)

http_code 在上次检索中找到的数字响应代码
HTTP(S) 或 FTP(s) 传输。 7.18.2中的别名 响应代码
添加以显示相同的信息。

http_连接 在上次响应中找到的数字代码(来自
proxy) 到 curl CONNECT 请求。 (在 7.12.4 中添加)

local_ip 最近完成的连接的本地端的IP地址
- 可以是 IPv4 或 IPv6(在 7.29.0 中添加)

本地端口 最近完成的连接的本地端口号(在
7.29.0)

连接数 最近转移中进行的新连接数。 (添加在
7.12.3)

重定向次数 请求中遵循的重定向数。 (添加在
7.12.3)

REDIRECT_URL 当一个没有 -L 的 HTTP 请求跟随重定向时,这
变量将显示实际 URL 重定向 带你去。
(在 7.18.2 中添加)

remote_ip 最近完成的连接的远程 IP 地址 - 可以是
IPv4 或 IPv6(在 7.29.0 中添加)

远程端口 最近完成的连接的远程端口号(添加
在7.29.0中)

大小下载 下载的总字节数。

大小头 下载的标头的总字节数。

大小请求 HTTP 请求中发送的总字节数。

上传大小 上传的总字节数。

下载速度 curl 为完整测量的平均下载速度
下载。 每秒字节数。

速度上传 curl 为完整上传测量的平均上传速度。
每秒字节数。

ssl_验证_结果
SSL 对等证书验证的结果是
要求。 0 表示验证成功。 (添加在
7.19.0)

time_appconnect 时间
从开始到 SSL/SSH/etc 所用的时间(以秒为单位)
与远程主机的连接/握手已完成。 (添加在
7.19.0)

时间连接 从开始到 TCP 连接所用的时间,以秒为单位
到远程主机(或代理)已完成。

时间名称查找
从开始到名称所用的时间(以秒为单位)
解决完成。

预传输时间
从开始到文件传输所用的时间(以秒为单位)
正要开始。 这包括所有预传输命令和
特定于特定协议的协商
参与其中。

时间重定向 所有重定向步骤所花费的时间(以秒为单位),包括名称
最终前的查找、连接、预传输和传输
交易开始。 time_redirect 显示完整的执行
多次重定向的时间。 (在 7.12.3 中添加)

时间开始传输
从开始到第一个字节所用的时间,以秒为单位
刚要转行。 这包括 time_pretransfer 和
也是服务器计算结果所需的时间。

总时间 完整操作持续的总时间(以秒为单位)。 时间
将以毫秒分辨率显示。

网址有效 最后获取的 URL。 这是最有意义的,如果你已经
告诉 curl 跟随位置:标题。

如果多次使用此选项,将使用最后一个。

-x, --proxy <[protocol://][user:password@]proxyhost[:port]>
使用指定的代理。

可以使用 protocol:// 前缀指定代理字符串以指定替代
代理协议。 使用socks4://、socks4a://、socks5://或socks5h://来请求
要使用的特定 SOCKS 版本。 未指定协议,http:// 和所有其他协议
将被视为 HTTP 代理。 (curl 7.21.7 增加了协议支持)

如果代理字符串中未指定端口号,则假定为 1080。

此选项会覆盖设置要使用的代理的现有环境变量。 如果
有一个设置代理的环境变量,您可以将代理设置为“”以
覆盖它。

通过 HTTP 代理执行的所有操作都将透明地
转换为 HTTP。 这意味着某些特定于协议的操作可能不是
可用的。 如果您可以通过代理隧道,则情况并非如此,就像
-p, --代理隧道 选项。

代理字符串中可能提供的用户和密码由 URL 解码
卷曲。 这允许您通过使用 %40 或 pass 传入特殊字符,例如 @
在带有 %3a 的冒号中。

可以使用与代理环境完全相同的方式指定代理主机
变量,包括协议前缀 (http://) 和嵌入式用户 +
密码。

如果多次使用此选项,将使用最后一个。

-X, --request
(HTTP) 指定在与 HTTP 通信时使用的自定义请求方法
服务器。 否则将使用指定的请求方法而不是方法
使用(默认为 GET)。 阅读 HTTP 1.1 规范以了解详细信息和
解释。 常见的附加 HTTP 请求包括 PUT 和 DELETE,但相关的
WebDAV 等技术提供 PROPFIND、COPY、MOVE 等。

通常你不需要这个选项。 各种 GET、HEAD、POST 和 PUT 请求
而是通过使用专用命令行选项来调用。

此选项仅更改 HTTP 请求中使用的实际单词,它不会
改变 curl 的行为方式。 例如,如果你想制作一个合适的 HEAD
请求,使用 -X HEAD 是不够的。 您需要使用 -一世, - 头 选项。

您使用 -X 设置的方法字符串将用于所有请求,如果您为
示例使用 -L, - 地点 当 curl 没有时,可能会导致意想不到的副作用
根据 HTTP 30x 响应代码更改请求方法 - 类似。

(FTP) 指定在执行文件列表时使用自定义 FTP 命令而不是 LIST
使用 FTP。

(POP3) 指定要使用的自定义 POP3 命令而不是 LIST 或 RETR。 (添加在
7.26.0)

(IMAP) 指定要使用的自定义 IMAP 命令而不是 LIST。 (在 7.30.0 中添加)

(SMTP) 指定要使用的自定义 SMTP 命令,而不是 HELP 或 VRFY。 (添加在
7.34.0)

如果多次使用此选项,将使用最后一个。

--xattr
将输出保存到文件时,此选项告诉 curl 存储某些文件元数据
在扩展文件属性中。 目前,URL 存储在 xdg.origin.url
属性,对于 HTTP,内容类型存储在 mime_type 属性中。 如果
文件系统不支持扩展属性,发出警告。

-y, --speed-time
如果在速度时间内下载速度低于每秒速度限制字节数
期间,下载中止。 如果使用speed-time,默认限速
除非设置为 1 -Y.

此选项控制传输,因此不会影响慢速连接等。如果这
是你的问题,试试 --连接超时 选项。

如果多次使用此选项,将使用最后一个。

-Y, --speed-limit
如果下载速度慢于速度时间的给定速度(以每秒字节数为单位)
秒它被中止。 速度时间设置为 -y 如果未设置,则为 30。

如果多次使用此选项,将使用最后一个。

-z, --time-cond |
(HTTP/FTP) 请求一个修改时间晚于给定时间的文件,并且
日期,或在该时间之前已修改的日期。 这可
各种日期字符串,或者如果它不匹配任何内部字符串,则将其视为
一个文件名并尝试从中获取修改日期(mtime) 反而。 看
卷曲获取日期(3) 日期表达式详细信息的手册页。

以破折号 (-) 开头的日期表达式使其请求的文档为
早于给定日期/时间,默认是比指定日期/时间更新的文档
指定的日期/时间。

如果多次使用此选项,将使用最后一个。

-h,--帮助
使用帮助。 这列出了所有当前命令行选项并带有简短说明。

-M, --手册
手动的。 显示巨大的帮助文本。

-V,--version
显示有关 curl 及其使用的 libcurl 版本的信息。

第一行包含完整版curl、libcurl等3rd方
与可执行文件链接的库。

第二行(以“Protocols:”开头)显示了 libcurl 报告的所有协议
支持。

第三行(以“Features:”开头)显示了 libcurl 报告给的特定功能
提供。 可用功能包括:

IPv6 您可以使用 IPv6。

krb4 支持用于 FTP 的 Krb4。

SSL 支持各种协议的 SSL 版本,如 HTTPS、FTPS、POP3S
等等。

libz 支持通过 HTTP 自动解压缩压缩文件。

支持 NTLM NTLM 身份验证。

调试这个 curl 使用了一个用调试构建的 libcurl。 这可以实现更多的错误跟踪
和内存调试等。仅适用于 curl 开发人员!

AsynchDNS
此 curl 使用异步名称解析。 异步名称解析可以是
使用 c-ares 或线程解析器后端完成。

支持 SPNEGO SPNEGO 认证。

Largefile
此 curl 支持传输大文件,文件大于 2GB。

IDN 这个 curl 支持 IDN - 国际域名。

GSS API
支持 GSS-API。

SSPI 支持 SSPI。

TLS-SRP
TLS 支持 SRP(安全远程密码)身份验证。

HTTP2 HTTP/2 支持已内置。

金属油墨
此 curl 支持 Metalink(版本 3 和 4 (RFC 5854)),其中
描述镜像和哈希。 如果有,curl 将使用镜像进行故障转移
是错误(例如文件或服务器不可用)。

使用 onworks.net 服务在线使用 curl


免费服务器和工作站

下载 Windows 和 Linux 应用程序

  • 1
    Alt-F
    Alt-F
    Alt-F 提供了一个免费和开源的
    DLINK 的替代固件
    DNS-320/320L/321/323/325/327L and
    DNR-322L。 Alt-F 有 Samba 和 NFS;
    支持ext2/3/4...
    下载 Alt-F
  • 2
    usm
    usm
    usm 是一个统一的 slackware 包
    处理自动的经理
    依赖解决。 它统一了
    各种软件包存储库,包括
    slackware、slacky、p...
    下载usm
  • 3
    chart.js之
    chart.js之
    Chart.js 是一个 Javascript 库,它
    允许设计师和开发人员绘制
    使用HTML5的各种图表
    画布元素。 Chart js 提供了一个很好的
    大批 ...
    下载 Chart.js
  • 4
    用于JasperReports的iReport-Designer
    用于JasperReports的iReport-Designer
    注意:iReport/Jaspersoft Studio 支持
    公告:从 5.5.0 版开始,
    Jaspersoft Studio 将成为官方
    JasperReports 的设计客户端。 iReport
    将...
    下载 JasperReports 的 iReport-Designer
  • 5
    安装后F
    安装后F
    PostInstallerF 将安装所有
    Fedora Linux 和其他软件
    默认不包括,之后
    第一次运行 Fedora。 它的
    容易...
    下载 PostInstallerF
  • 6
    痕迹
    痕迹
    strace 项目已移至
    https://strace.io. strace is a
    诊断、调试和指导
    Linux 的用户空间跟踪器。 它被使用
    监控一个...
    下载跟踪
  • 更多 ”

Linux 命令

Ad