开发工具

Shell之 curl 指令

curl 是一个功能强大的命令行工具,用于发送和接收 HTTP、HTTPS、FTP 等协议的数据。它常用于从服务器获取或向服务器上传数据,支持多种请求方法(如 GET、POST、PUT、DELETE 等),并且可以通过各种选项来自定义请求。


基本语法

curl [选项] [URL]

选项:用于指定 curl 命令的行为,如 -o 指定输出文件,-d 指定 POST 数据等。

URL:要请求的服务器地址。


常用选项

-o:将输出保存到指定文件中。

-d:发送 POST 请求时使用的数据。

-X:指定请求方法(GET、POST、PUT 等)。

-H:添加自定义的请求头。

-c:保存 Cookie 信息到文件。

-b:从文件中读取 Cookie 信息并发送到服务器。

-s:静默模式,不显示进度和错误信息。

-v:详细模式,显示请求和响应的详细信息。


示例

1、下载文件

curl -o output.html http://example.com

这将从 http://example.com 下载页面内容并保存到 output.html 文件中。


2、发送 POST 请求

curl -X POST -d "param1=value1&param2=value2" http://example.com/form

这将向 http://example.com/form 发送一个 POST 请求,请求体中包含 param1 和 param2 参数。


3、添加自定义请求头

curl -H "User-Agent: CustomAgent" http://example.com

这将向 http://example.com 发送一个请求,并在请求头中添加自定义的 User-Agent 字段。


4、使用 Cookie

curl -c cookies.txt http://example.com
curl -b cookies.txt http://example.com

第一个命令将 http://example.com 的 Cookie 保存到 cookies.txt 文件中,第二个命令则从 cookies.txt 文件中读取 Cookie 并发送到 http://example.com。


注意事项

1、在使用 curl 命令时,请确保 URL 和选项的正确性,以避免请求失败。

2、对于敏感信息(如密码、私钥等),请确保不要通过命令行直接传递,以防止信息泄露。可以使用 -F 选项来安全地传递表单数据。

3、curl 命令的选项非常丰富,可以根据具体需求进行组合使用,以实现复杂的请求。

通过合理使用 curl 命令及其选项,用户可以方便地发送和接收网络数据,进行 API 测试、文件下载和上传等操作。