Curl 命令引數解析

划边逅發表於2024-06-07

Curl 引數:詳細解析與示例

curl 是一個功能強大的命令列工具,用於傳輸資料。它支援多種協議,如 HTTP、HTTPS、FTP、SFTP 等。curl 提供了豐富的引數,以滿足各種傳輸需求。本文將詳細解析 curl 引數,並透過程式碼示例說明其用法。

1. 引數概述

curl 引數分為兩大類:通用引數和協議相關引數。通用引數適用於所有協議,而協議相關引數僅適用於特定協議。以下是一些常用的 curl 引數:

  • -h, --help:顯示幫助資訊。
  • -v, --verbose:顯示詳細的資訊,包括請求和響應頭。
  • -d, --data:傳送 POST 請求時,用於傳送資料。
  • -H, --header:新增自定義請求頭。
  • -L, --location:跟隨重定向。
  • -o, --output:將響應內容儲存到檔案中。

2. 通用引數

2.1 -h, --help

顯示 curl 的幫助資訊。例如:

curl -h

2.2 -v, --verbose

顯示詳細的資訊,包括請求和響應頭。例如:

curl -v https://www.example.com

2.3 -d, --data

傳送 POST 請求時,用於傳送資料。例如,向一個 REST API 傳送 JSON 資料:

curl -d '{"name": "John Doe", "age": 30}' https://api.example.com/users

2.4 -H, --header

新增自定義請求頭。例如,傳送帶有 Authorization 頭部的請求:

curl -H "Authorization: Bearer 123456" https://api.example.com/users

2.5 -L, --location

跟隨重定向。例如,獲取一個經過重定向的 URL 的內容:

curl -L https://www.example.com

2.6 -o, --output

將響應內容儲存到檔案中。例如,將一個網頁儲存為 HTML 檔案:

curl -o index.html https://www.example.com

3. 協議相關引數

curl 支援多種協議,每個協議都有其特定的引數。以下是一些常見的協議引數:

  • HTTP:-A, --user-agent-b, --cookie-c, --cookie-jar-C, --continue-at
  • HTTPS:-k, --insecure-I, --head
  • FTP:-u, --user-p, --password-P, --port-s, --ssl
  • SFTP:-s, --ssl-P, --port-u, --user

4. 示例

以下是一個使用 curl 傳送 GET 請求並獲取響應內容的示例:

curl https://www.example.com

以下是一個使用 curl 傳送 POST 請求並獲取響應內容的示例:

curl -XPOST -H 'Content-Type: application/json' -d '{"name":"example"}' https://www.example.com/

以下是一個使用 curl 傳送帶有自定義請求頭的 GET 請求的示例:

curl -H "Authorization: Bearer 123456" https://api.example.com/users

傳送一個帶有HTTP Basic認證的GET請求:

curl -u username:password https://www.example.com/

傳送一個PUT請求,同時指定請求頭和請求體:

curl -XPUT -H 'Content-Type: application/json' -d '{"name":"example"}' https://www.example.com/

相關文章