廣告

cURL – 命令行工具

  • 軟體名稱:cURL
  • 軟體版本:8.12.0
  • 授權類型:免費軟體
  • 支援語系:英文
  • 支援系統:Windows,Mac,Linux
  • 官方網站:cURL

cURL 是一個命令行工具,用於發送和接收資料,特別是通過 URL。它支援多種協議(如 HTTP、HTTPS、FTP 等),常用於 API 測試和網路請求。以下是 cURL 的基本教學:

1. 安裝 cURL

大多數操作系統已預裝 cURL。如果沒有,可以通過以下方法安裝:

  • Windows: 前往 cURL 官方網站 下載並安裝。
  • macOS: 通過 Homebrew 安裝,執行 brew install curl
  • Linux: 大部分 Linux 發行版預裝 cURL,如果沒有,使用包管理器安裝,如 sudo apt install curl(Debian/Ubuntu)或 sudo yum install curl(CentOS/Fedora)。

2. 基本用法

cURL 命令的基本語法如下:

curl [options] [URL]

例子:

  • 發送 GET 請求:
    curl https://api.example.com
    

    這會發送一個簡單的 GET 請求到指定的 URL,並將回應輸出到終端。

3. 常見用法範例

a. 發送 GET 請求

curl https://jsonplaceholder.typicode.com/posts

這將發送一個 GET 請求並獲取回應。回應內容會顯示在終端。

b. 發送 POST 請求

POST 請求通常用於將資料發送到伺服器:

curl -X POST https://jsonplaceholder.typicode.com/posts \
  -H "Content-Type: application/json" \
  -d '{"title": "foo", "body": "bar", "userId": 1}'

這個範例向 API 發送一個 POST 請求,並傳遞 JSON 資料。-X POST 指定請求方法為 POST,-H 用來設置標頭,-d 傳送資料。

c. 使用查詢參數

在 GET 請求中使用查詢參數:

curl "https://jsonplaceholder.typicode.com/posts?userId=1"

這會發送一個帶有查詢參數 userId=1 的 GET 請求。

d. 儲存回應到檔案

如果你想將回應儲存到檔案而不是顯示在終端上,使用 -o-O 參數:

curl -o output.json https://jsonplaceholder.typicode.com/posts

這會將回應儲存到名為 output.json 的檔案。

e. 發送帶有驗證的請求

有些 API 需要用戶名和密碼來驗證:

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

這將使用基本驗證發送請求。

f. 設定標頭

許多 API 需要你設置特定的標頭,例如 API 金鑰:

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

這裡使用 -H 參數設置了認證標頭。

g. 發送帶有檔案的 POST 請求

你可以用 -F 參數來發送表單數據或上傳檔案:

curl -F "file=@/path/to/file.txt" https://api.example.com/upload

這會將檔案 file.txt 上傳到指定的 URL。

4. 進階用法

a. 檢視完整回應(包括標頭)

使用 -i 來顯示回應標頭:

curl -i https://jsonplaceholder.typicode.com/posts

這會顯示 HTTP 回應標頭和回應內容。

b. 追蹤重定向

有些網站會重定向請求,使用 -L 參數可以自動追蹤重定向:

curl -L https://example.com

c. 設置自訂請求方法

除了常見的 GET 和 POST,你還可以設置其他 HTTP 方法(如 PUT、DELETE):

curl -X PUT https://api.example.com/resource/1 \
  -H "Content-Type: application/json" \
  -d '{"name": "updated name"}'

d. 模擬瀏覽器

使用 -A 指定 User-Agent,來模擬不同的瀏覽器:

curl -A "Mozilla/5.0" https://example.com

5. 調試與診斷

如果你想檢查請求發送的細節,可以使用 -v 參數來查看詳細資訊:

curl -v https://jsonplaceholder.typicode.com/posts

這會顯示完整的請求和回應過程,有助於排查問題。

6. cURL 的其他選項

  • -I:只顯示 HTTP 標頭(不包含回應內容)。
  • --compressed:請求壓縮的回應以減少數據量。
  • --retry:設置自動重試次數,當網路不穩定時很有用。

7. 結合腳本使用

你可以將 cURL 命令結合 Shell 腳本自動化任務,例如:

#!/bin/bash
curl -o response.json https://api.example.com/data

這個簡單的腳本會自動從 API 獲取資料並儲存到 response.json

8. 資源

學會了這些基礎操作後,你就可以使用 cURL 進行 API 測試、自動化下載和上傳等網路請求了!

廣告

Leave a Reply

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *