概述
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` 選項以視覺化方式查看進度。