跳转至

Curl的10个高级用法

Curl 是一款强大的命令行工具,用于与各种网络协议进行通信。它支持多种选项,使得我们能够以多种方式定制和控制请求。

-X/--request

这个选项用于指定 HTTP 请求的方法。常见的方法有 GET、POST、PUT 和 DELETE

下面是一个使用 POST 方法发送 JSON 数据的示例:

curl -X POST -H "Content-Type: application/json" -d '{"name":"John","age":30}' https://example.com/api/users

-H/--header

通过此选项,您可以添加自定义的请求头。下面的示例演示了如何通过添加自定义的 User-Agent 头信息发送请求:

curl -H "User-Agent: MyCustomAgent" https://example.com

-d/--data

使用此选项可以发送 POST 请求时的数据体。下面的示例展示了如何发送表单数据:

curl -X POST -d "username=admin&password=123456" https://example.com/login

-F/--form

这个选项与 -d/--data 类似,但用于发送表单数据。下面是一个示例,演示了如何上传文件:

curl -F "file=@/path/to/file" https://example.com/upload

-o/--output

通过此选项,您可以将响应保存到文件中,而不是在终端上显示。以下示例将将响应保存到名为 "response.txt" 的文件中:

curl -o response.txt https://example.com/api/data

-i/--include

使用此选项可以在输出结果中包含响应的头信息。以下示例演示了如何获取响应的头信息和主体内容:

curl -i https://example.com

-L/--location

如果请求返回了重定向响应,通过此选项,Curl 将自动跟随重定向。以下示例演示了如何使用此选项:

curl -L https://example.com

这些选项用于处理和发送 Cookie。-c 选项将从服务器接收的 Cookie 保存到文件中,-b 选项将从文件中读取 Cookie 并发送到服务器。

以下示例展示了如何使用这两个选项:

curl -c cookies.txt https://example.com/login
curl -b cookies.txt https://example.com/user/dashboard

-u/--user

通过此选项,您可以指定用于进行身份验证的用户名和密码。以下示例演示了如何使用基本身份验证发送请求:

curl -u username:password https://example.com/api/data

-s/--silent

使用此选项可以使 Curl 在执行请求时静默运行,不显示进度或错误信息。以下示例演示了如何使用此选项:

curl -s https://example.com