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会自动跳转到新地址。