命令简介

cURL 是一个功能强大的命令行工具,用于传输数据并支持多种协议。它最初是为了方便用户从命令行下传输和获取数据而设计的,后来发展成了一个完整的数据传输工具。cURL 支持多种协议,包括 HTTP、HTTPS、FTP、SFTP、TFTP、FTPS、DICT、TELNET、FILE 等。它可以用于下载、上传、远程执行脚本、测试 Web 服务等多种用途。

命令格式

cURL 命令的基本语法格式为:

1
curl [options] [URL...]

其中:

  • options: 用于指定 cURL 命令的选项,例如 -X 指定 HTTP 方法。
  • URL…: 需要访问的一个或多个 URL。

参数说明

cURL 命令提供了多个可选参数,下表列出了常用的参数及其说明:

参数 说明 -
-X 指定 HTTP 方法,如 GET、POST、PUT、DELETE 等 -
-H 添加 HTTP 头信息 -
-d 发送 HTTP POST 数据 -
-o 将响应结果保存到指定文件 -
-L 自动跳转 -
-i 显示响应头信息 -
-v 显示详细操作信息 -
-x 使用 HTTP 代理 -
-u 提供服务器认证的用户名和密码 -

命令实例

###基本用法

1.获取网页内容

1
curl http://example.com

2.将响应结果保存到文件

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

HTTP 方法

1.发送 GET 请求

1
curl -X GET http://example.com/api

2.发送 POST 请求

1
curl -X POST -d 'name=value' http://example.com/api

请求头和认证

1.添加请求头

1
curl -H 'Accept-Language: en-US' http://example.com

2.提供认证信息

1
curl -u username:password http://example.com/auth

下载文件和远程执行脚本

1.下载文件

1
curl -O http://example.com/file.zip

2.远程执行脚本

1
curl http://example.com/script.sh | sh

调试和代理

1.显示详细操作信息

1
curl -v http://example.com 

2.使用 HTTP 代理

1
curl -x http://proxy.example.com:8080 http://example.com 

3.显示响应头信息

1
curl -i https://example.com

高级用法

1.从文件读取 PUT 数据

1
curl -X PUT -d @data.json http://example.com/api

2.构造 GET 请求查询参数

1
curl -G --data-urlencode 'query=value' http://example.com

通过上述实例,你可以看到 cURL 命令在发送 HTTP 请求、下载文件、远程执行脚本,以及调试和代理等方面的灵活应用。cURL 命令功能强大,在网络开发和测试中非常实用。