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/