首頁 > 網路管理 > curl

curl: 傳輸和輸出 URL 資料

curl 是一個強大的命令列工具,用於使用 URL 傳輸或接收資料。它支援多種協定,如 HTTP、HTTPS、FTP、FTPS、SCP、SFTP 等,特別廣泛用於從 Web 伺服器擷取資料並顯示在標準輸出或儲存到檔案。

概述

curl 可以擷取各種網路資源,如網頁、檔案、API 回應等,並將其顯示在終端機或儲存到指定的檔案。特別是,它可以使用 `-o`、`-O` 選項管理下載的檔案,並使用 `-s` 選項隱藏進度,從而精確控制輸出方式。

主要特點

curl 的主要功能如下:

  • 支援多種協定(HTTP、HTTPS、FTP 等)
  • 將網頁、API 回應等網路資源輸出到標準輸出
  • 檔案下載和儲存功能
  • 控制進度和詳細資訊
  • 自動處理重新導向

主要選項

這些是控制 curl 輸出和傳輸方式的主要選項。

輸出和儲存

傳輸控制

生成的命令:

請試著組合命令。

這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。

`curl` 執行命令。

請將上述選項組合在一起,與 AI 一同虛擬執行命令。

使用範例

使用 curl 以各種方式擷取和輸出資料的範例。

輸出基本網頁內容

curl https://example.com

將指定 URL 的內容顯示在標準輸出。

儲存到檔案 (-o)

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

將網頁內容儲存到名為 'index.html' 的檔案中。

使用遠端檔名儲存 (-O)

curl -O https://example.com/data.zip

將遠端伺服器上的檔案(例如:'data.zip')以其原始檔名儲存在目前目錄中。

隱藏進度並輸出 (-s)

curl -s https://api.github.com/users/octocat

不顯示下載進度訊息,僅輸出最終結果。

僅輸出 HTTP 標頭 (-I)

curl -I https://example.com

僅檢查網頁伺服器的 HTTP 回應標頭資訊。

遵循重新導向 (-L)

curl -L http://shorturl.at/abcde

如果 URL 被重新導向,則擷取最終目標的內容。

使用 jq 解析 JSON API 回應

curl -s https://api.github.com/users/octocat | jq .name

擷取 API 回應,並使用 `jq` 命令以易於閱讀的格式化 JSON 資料。

提示與注意事項

使用 curl 時的實用提示和注意事項。

常用組合

以下組合在 `curl` 使用時非常有用:

  • `curl -sL`:隱藏進度(silent)並遵循重新導向(Location)的最常用網頁/API 呼叫組合。
  • `curl -sL -o <file>`:用於靜默下載網頁或檔案並將其儲存到檔案。
  • `curl -sL --compressed`:用於自動解壓縮並輸出壓縮回應。

安全考量

建議使用 HTTPS 以確保安全,並注意不要在 URL 中直接暴露使用者名稱/密碼等敏感資訊。請考慮使用 `-u` 選項或 `--data` 選項安全地傳遞。

顯示進度

下載大型檔案時,建議不要使用 `-s` 選項,或使用 `--progress-bar` 選項以視覺化方式查看進度。


相同類別命令