文章目錄
- 1. 什么是 curl?
- 2. 下載與安裝 curl
- 3. curl 的常見用法
- 3.1 獲取網頁內容
- 3.2 下載文件
- 3.3 發送 POST 請求(帶表單數據)
- 3.4 發送帶 JSON 的 POST 請求
1. 什么是 curl?
cURL(CommandLine URL)是非常強大的開源命令行工具庫,用于通過URL傳輸數據,其功能可以簡單地分為:向服務器發送請求(GET、POST、PUT、DELETE 等)、測試和調試 API 接口、下載文件或數據、模擬瀏覽器或其他客戶端行為。curl最新穩定版本為8.13.0(發布于 2025-04-02)。
該工具庫支持FTP、FTPS、HTTP、HTTPS、SMTP、Telnet、TFTP等協議,底層使用的是 libcurl庫。curl的應用面非常廣,包含但不限于汽車、電視機、路由器、打印機、手機、平板電腦、醫療設備、機頂盒等,全球幾乎每個使用互聯網的人每天都會使用 curl。
2. 下載與安裝 curl
打開電腦的命令行,輸入 curl --version
或 curl -V
,如果能返回 curl 的版本信息,則已安裝 curl 工具。
這里以MacOS為例介紹如何安裝curl,如果安裝了 Homebrew工具,可以直接通過如下命令安裝。
brew install curl
另一種方式是通過源碼安裝。curl 源碼下載地址:https://curl.se/download.html。下相應的 curl-x.x.x.tar.gz
文件,解壓后,將終端目錄切換到相應的文件夾,運行命令 ./configure --prefix=/usr/local/curl
設置安裝目錄,接著運行 make
, sudo make install
編譯和安裝。
3. curl 的常見用法
本小節會給出幾個案例演示curl常見的用法,在此之前線介紹下curl命令的一些參數及其含義:
-X
:指定 HTTP 請求的方法,例如 curl -X POST $url
-d
: 發送post請求數據,@file表示來自于文件
-o
: 寫文件,將服務器的響應保存成文件
-v
: verbose,打印更詳細日志
-s
, --silent
: 關閉一些提示輸出,不輸出錯誤和進度信息。
-L
:跟隨跳轉鏈接
3.1 獲取網頁內容
直接在curl
后接一個url地址,將會向該地址發送GET請求,如下命令,會向 https://example.com
發送一個 GET 請求,并在終端輸出網頁的 HTML 內容。
curl https://example.com
將響應內容保存到 result.json 文件:
curl -o result.json https://api.example.com/data
3.2 下載文件
-O
會使用原文件名保存文件。
curl -O https://example.com/file.zip
3.3 發送 POST 請求(帶表單數據)
指定請求方法以及發送的信息。
curl -X POST -d "username=test&password=1234" https://example.com/login
3.4 發送帶 JSON 的 POST 請求
curl -X POST -H "Content-Type: application/json" -d '{"name": "Alice"}' https://example.com/api
其中,-H
定義的是請求頭內容,“Content-type: application/json” 表示向服務器聲明發送的數據類型是 json
格式。