curl
是一个强大的命令行工具,用于在 Linux 系统上进行数据传输,它支持多种协议(如 HTTP、HTTPS、FTP 等),并且可以用于下载文件、上传数据、执行网络请求等操作。
基本语法
curl [选项] [URL]
常用选项和参数
v
:显示详细输出信息。
s
:静默模式,不显示进度条或错误信息。
o
:将输出保存到文件。curl o file.txt http://example.com/file.txt
。
O
:以远程文件名保存本地文件。curl O http://example.com/file.zip
。
L
:如果服务器返回重定向响应,自动跟随重定向。
I
:仅获取 HTTP 头信息。
u
:指定用户名和密码进行身份验证。curl u username:password http://example.com/protected/resource
。
X
:自定义请求方法。curl X PUT http://example.com/resource
。
d
:发送 POST 或 PUT 请求的数据。curl X POST d "name=John&age=30" http://example.com/form
。
H
:添加自定义的 HTTP 头。curl H "Authorization: Bearer token" http://example.com
。
compressed
:启用传输压缩。
limitrate
:限制传输速率。curl limitrate 100K http://example.com/largefile.zip
。
示例分享
下载文件
curl O http://example.com/file.zip
这个命令会将远程文件file.zip
下载到当前目录,并保留其原始文件名。
下载文件并保存为特定名称
curl o myfile.zip http://example.com/file.zip
这个命令会将远程文件file.zip
下载到当前目录,并将其保存为myfile.zip
。
只获取 HTTP 头信息
curl I http://example.com
这个命令只会返回 HTTP 头信息,而不下载实际内容。
发送 POST 请求
curl X POST d "username=test&password=secret" http://example.com/login
这个命令会向指定的 URL 发送一个 POST 请求,并在请求体中包含表单数据。
发送带有自定义头的请求
curl H "ContentType: application/json" X POST d '{"key":"value"}' http://example.com/api
这个命令会向指定的 URL 发送一个带有自定义头和 JSON 数据的 POST 请求。
使用身份验证
curl u username:password http://example.com/protected/resource
这个命令会使用指定的用户名和密码进行基本身份验证。
跟随重定向
curl L http://example.com/redirected/resource
这个命令会自动跟随服务器返回的任何重定向。
限制下载速率
curl limitrate 500K http://example.com/largefile.zip
这个命令会将下载速率限制为每秒 500KB。
通过这些示例,你可以看到curl
命令的强大与灵活性,根据需求选择合适的选项和参数,你可以完成各种复杂的网络请求和数据传输任务。