curl命令 – 文件传输工具
curl
是一个强大的命令行工具,用于进行文件传输和网络请求。它支持多种协议,包括 HTTP、HTTPS、FTP、SCP 等,可以在命令行中模拟各种网络请求,用于测试、调试和数据传输。以下是 curl
的一些常见用途:
-
获取网页内容: 使用
curl
可以在命令行中获取网页的内容。curl https://example.com
-
文件上传和下载:
curl
可以用于上传和下载文件,支持各种协议。# 上传文件
curl -F "file=@localfile.txt" https://example.com/upload
# 下载文件
curl -O https://example.com/file.zip -
API 测试:
curl
可以用于测试 RESTful API,发送 GET、POST、PUT、DELETE 等请求。# 发送 POST 请求
curl -X POST -d "param=value" https://api.example.com/resource
# 发送 PUT 请求
curl -X PUT -d "param=value" https://api.example.com/resource/123 -
设置请求头和数据: 可以使用
-H
选项设置请求头,使用-d
选项设置请求数据。# 设置请求头
curl -H "Authorization: Bearer TOKEN" https://api.example.com/resource
# 发送 POST 请求并设置数据
curl -X POST -d "param=value" https://api.example.com/resource -
显示响应信息: 可以使用
-i
选项显示响应头信息,使用-v
选项显示详细的请求和响应信息。# 显示响应头
curl -i https://example.com
# 显示详细信息
curl -v https://example.com -
下载文件并显示进度条: 使用
-o
选项将响应保存到文件,使用-#
选项显示下载进度条。curl -# -o output.txt https://example.com/largefile.zip
-
代理设置: 可以使用
-x
选项设置代理服务器。curl -x http://proxy.example.com:8080 https://example.com
curl
提供了丰富的选项,可以根据不同的需求来进行定制化的网络请求和文件传输。它是一个非常实用的命令行工具,特别适用于调试和测试网络请求。
常用参数:
-k
:忽略 SSL 证书的验证。这在测试阶段可能会用到,但不推荐在生产环境中使用。-v
:显示详细的请求和响应信息,包括头部信息。-L
:跟随重定向。如果服务器返回 3xx 状态码并且提供了新的地址,curl
会自动跳转到新地址。