IT袋

当前位置:主页 > 经验教程 > 建站编程 >

curl命令怎么用

curl命令怎么用 curl常用命令及参数详解(14)

更新:2023-08-11 17:28:08 来源:IT袋 作者:马勇
导读:curl命令怎么用,一个简单的.netrc文件可能类似于: machine curl.se login iamdaniel password mysecret 自定义输出 为了更好地让脚本程序员了解 curl 的进度,引入了-w/--write-out选项。使

curl命令怎么用

一个简单的.netrc文件可能类似于:

machine curl.se login iamdaniel password mysecret

自定义输出

为了更好地让脚本程序员了解 curl 的进度,引入了-w/--write-out选项。使用它,您可以指定要从之前的传输中提取哪些信息。

要显示下载的字节数以及一些文本和结束换行符:

curl -w 'We downloaded %{size_download} bytes\n' www.download.com

Kerberos FTP 传输

Curl 支持 kerberos4 和 kerberos5/GSSAPI 进行 FTP 传输。您需要在 curl 构建时安装和使用 kerberos 包才能使用它。

首先,以正常方式获取 krb-ticket,例如使用 kinit/kauth 工具。然后以类似于以下方式使用 curl:

curl --krb private ftp://krb4site.com -u username:fakepwd

交换机上的密码没有用-u,但是一个空白的密码会让 curl 要求输入密码,并且您已经输入了 kinit/kauth 的真实密码。

远程网络

curl telnet 支持基本且易于使用。Curl 将在标准输入上传递给它的所有数据传递给远程服务器。使用类似于以下内容的命令行连接到远程 telnet 服务器:

curl telnet://remote.server.com

并在标准输入上输入要传递给服务器的数据。结果将被发送到标准输出或您指定的文件-o。

您可能希望-N/--no-buffer选项为慢速连接或类似情况关闭缓冲输出。

通过使用选项将选项传递给 telnet 协议协商-t。要告诉服务器我们使用 vt100 终端,请尝试以下操作:

curl -tTTYPE=vt100 telnet://remote.server.com

其他有趣的选项-t包括:

XDISPLOC=<X display>设置 X 显示位置。
NEW_ENV=<var,val>设置环境变量。

注意: telnet 协议没有指定使用指定用户和密码登录的任何方式,因此 curl 无法自动执行此操作。为此,您需要跟踪何时收到登录提示并相应地发送用户名和密码。

持久连接

在单个命令行上指定多个文件将使 curl 按指定顺序一个接一个地传输所有文件。

libcurl 将尝试使用持久连接进行传输,以便到同一主机的第二次传输可以使用已启动并在上一次传输中保持打开状态的相同连接。这大大减少了除了第一次传输之外的所有连接时间,并且可以更好地利用网络。

请注意,对于在子序列 curl 调用中使用的传输,curl 不能使用持久连接。如果它们使用相同的主机,请尝试在同一命令行上填充尽可能多的 URL,因为这将使传输更快。如果您使用 HTTP 代理进行文件传输,几乎所有传输都将是持久的。

使用单个命令行进行多次传输

如上所述,您可以通过简单地添加更多 URL 来使用一个命令行下载多个文件。如果您希望将它们保存到本地文件而不是仅打印到标准输出,则需要为您指定的每个 URL 添加一个保存选项。请注意,这也适用于-O选项(但不是--remote-name-all)。

相关阅读