Linux 中的 curl
命令是一個功能強大的工具,它可以利用HTTP、HTTPS、FTP和SFTP等多種協議,從網路伺服器傳輸資料或將資料傳輸到網路伺服器。
簡單地說,它是一種能幫助你直接從命令列通過網際網路傳輸資料的工具。例如,你可以使用 curl
從 URL 下載檔案,或將檔案上傳到伺服器。
這個命令列工具不僅可以傳輸檔案。你還可以使用 curl
從終端發出 HTTP 請求,如 GET 和 POST。這在測試或與網路服務和 API 互動時非常有用。有了 curl
,你甚至可以在不開啟瀏覽器的情況下檢查網頁內容,因為它可以獲取並顯示原始資料。
以下是使用 curl
命令的幾種不同方法:
基本用法
使用 curl
最簡單的方法是鍵入 curl
,然後輸入要訪問頁面的URL。
curl http://example.com
當你在終端執行 curl http://example.com
命令時,它會向位於 http://example.com
的伺服器傳送一個 GET
請求。在終端上看到的輸出是伺服器對 GET
請求的響應,通常是網頁的 HTML 內容。
1. 將輸出儲存到檔案
預設情況下,curl
會輸出請求頁面的原始碼。如果想將輸出儲存到檔案,可以使用 -o
或 -O
選項。
curl -o output.html http://example.com
-o
選項允許你指定檔名,而 -O
將使用URL中的檔名。
2. 跟隨重定向
如果你請求的 URL 重定向到了另一個頁面,除非使用 -L
選 項,否則 curl
不會跟隨重定向。
curl -L http://example.com
3. 傳送 POST 請求
你可以使用 curl
傳送 POST 請求。這通常用於提交表單。
curl -d "param1=value1¶m2=value2" -X POST http://example.com/form
-d
選項告訴 curl
你要傳送POST資料, -X
選項指定了要使用的請求方法。
4. 傳送帶引數的 GET 請求
通過在 URL 中新增引數,可以傳送帶引數的 GET 請求。
curl http://example.com/search?query=example
5. 傳送標頭
標頭您可以使用 -H
選項在請求中新增標頭。
curl -H "Accept: application/json" http://example.com/api
6. 使用 Cookie
你可以用 -b
選項告訴 curl
傳送 cookie,用 -c
選項告訴 curl
儲存cookie。
curl -b "name=value" -c cookies.txt http://example.com
7. 上傳檔案
使用 -F
選項,你可以用 curl
向伺服器上傳檔案。這會傳送一個 POST 請求,並將 Content-Type
設定為 multipart/form-data
。
curl -F "file=@path/to/local/file" http://example.com/upload
8. 下載檔案
你可以使用 curl
通過 FTP、SFTP、HTTP 和許多其他協議下載檔案。
curl -O ftp://example.com/pub/file.zip
9. 身份驗證
如果需要進行身份驗證,可以使用 -u
選項,然後輸入使用者名稱和密碼,並用 :
(冒號)分隔。
curl -u username:password http://example.com
更多 Linux 命令
下面羅列了最常見的一些 Linux 命令,您可以根據自己的需要查閱對應命令的詳細解析:
目錄操作 | rmdir · cd · pwd · exa · ls |
檔案操作 | cat · cp · dd · less · touch · ln · rename · more · head |
檔案系統操作 | chown · mkfs · locate |
網路 | ping · curl · wget · iptables · mtr |
搜尋和文字處理 | find · grep · sed · whatis · ripgrep · fd · tldr |
系統資訊和管理 | env · history · top · who · htop · glances · lsof |
使用者和會話管理 | screen · su · sudo · open |
此外,我們還整理 Linux 命令列大全,以幫助大家全面深入地學習 Linux。
評論留言