跳到主要内容

curl命令 – 文件传输工具

curl 是一个强大的命令行工具,用于进行文件传输和网络请求。它支持多种协议,包括 HTTP、HTTPS、FTP、SCP 等,可以在命令行中模拟各种网络请求,用于测试、调试和数据传输。以下是 curl 的一些常见用途:

  1. 获取网页内容: 使用 curl 可以在命令行中获取网页的内容。

    curl https://example.com
  2. 文件上传和下载: curl 可以用于上传和下载文件,支持各种协议。

    # 上传文件
    curl -F "file=@localfile.txt" https://example.com/upload

    # 下载文件
    curl -O https://example.com/file.zip
  3. 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
  4. 设置请求头和数据: 可以使用 -H 选项设置请求头,使用 -d 选项设置请求数据。

    # 设置请求头
    curl -H "Authorization: Bearer TOKEN" https://api.example.com/resource

    # 发送 POST 请求并设置数据
    curl -X POST -d "param=value" https://api.example.com/resource
  5. 显示响应信息: 可以使用 -i 选项显示响应头信息,使用 -v 选项显示详细的请求和响应信息。

    # 显示响应头
    curl -i https://example.com

    # 显示详细信息
    curl -v https://example.com
  6. 下载文件并显示进度条: 使用 -o 选项将响应保存到文件,使用 -# 选项显示下载进度条。

    curl -# -o output.txt https://example.com/largefile.zip
  7. 代理设置: 可以使用 -x 选项设置代理服务器。

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

curl 提供了丰富的选项,可以根据不同的需求来进行定制化的网络请求和文件传输。它是一个非常实用的命令行工具,特别适用于调试和测试网络请求。

常用参数:

  • -k:忽略 SSL 证书的验证。这在测试阶段可能会用到,但不推荐在生产环境中使用。
  • -v:显示详细的请求和响应信息,包括头部信息。
  • -L:跟随重定向。如果服务器返回 3xx 状态码并且提供了新的地址,curl 会自动跳转到新地址。