linux使用 curl 命令

curl 模擬 GET\POST 請求,以及 curl post 上傳文件

一般情況下,我們調試數據接口,都會使用一個 postman 的工具。在命令行中,我們使用 curl 這個工具。

下面,我們來簡單的說一下,curl 的一些常見使用方法:

curl GET 請求

curl命令 + 請求接口的地址。

curl localhost:9999/api/daizhige/article

如上,我們就可以請求到我們的數據了,如果想看到詳細的請求信息,我們可以加上 -v 參數

curl localhost:9999/api/daizhige/article -v

操作結果如下圖所示:

curl get 請求

 

curl POST 請求

我們可以用 -X POST 來申明我們的請求方法,用 -d (或者--data)參數,來傳送我們的參數。

所以,我們可以用 -X PUT 和 -X DELETE 來指定另外的請求方法。

curl localhost:9999/api/daizhige/article -X POST -d "title=comewords&content=articleContent"

如上,這就是一個普通的 post 請求。

但是,一般我們的接口都是 json 格式的,這也沒有問題。我們可以用 -H 參數來申明請求的 header

curl localhost:9999/api/daizhige/article -X POST -H "Content-Type:application/json" -d '{"title":"comewords","content":"articleContent"}'

so, 我們可以用 -H 來設置更多的 header 比如,用戶的 token 之類的。

同樣,我們可以用 -v 來查看詳情。

curl POST 請求

 

查看返回的 json 數據 - 安裝 jq 工具

  • MacOS 用戶在命令行輸入如下命令安裝

brew install jq

  • Ubuntu\Debian\Deepin 命令

sudo apt install jq

  • CentOS\RedHat 命令

sudo yum install jq

  • Arch 命令

sudo pacman -S jq

 

curl POST 上傳文件

上面的兩種請求,都是隻傳輸字符串,我們在測試上傳接口的時候,會要求傳輸文件。

我們用 -F "file=@__FILE_PATH__" 的請示,傳輸文件即可。命令如下:

curl localhost:8000/api/v1/upimg -F "file=@/Users/fungleo/Downloads/401.png" -H "token: 222" -v

執行結果如下圖所示:

curl POST 上傳文件

 

curl 上傳多個文件、設置 cookies 命令

curl http://localhost:3000/api/v1/upload -F 'file=@/Users/fungleo/Downloads/空心五角星.png' -F 'file=@/Users/fungleo/Downloads/空心五角星.png' -H 'Cookie:token=68fed7e53110f7c4e095d932274a56ea'
1
如上,這是一個上傳多個文件的命令,和上傳單個文件是沒有什麼太大區別的,就是直接寫多個文件即可。設置 cookies 和設置普通的 header 並沒有什麼太大的區別,如果需要設置多個 cookie 值,可以用 ; 號進行分割。加上 -s | jq 後綴,返回結果就十分優雅

curl 上傳多個文件、設置 cookies 命令 使用 jq 更優雅的展示

 

ctrl + r 查找歷史命令記錄

當我們在命令行執行了某條命令之後,實際上這條命令就已經被系統記錄下來了。下次想要再調用這個命令,可以方便的通過 ctrl + r 快捷鍵來進行查找。

在命令行中使用 ctrl + r 激活搜索,然後輸入關鍵詞。如下圖所示:

ctrl + r 查找歷史命令記錄

如果搜索出來的結果有多條,當前的這條不是你想要的,繼續按 ctrl + r 快捷鍵,可以切換搜索結果,如下圖所示:

ctrl + r 查找歷史命令記錄

可以看到,在不斷的切換搜索結果了。

確定了某條歷史執行命令之後,可以按 回車鍵 立即執行該命令,也可以按一下 ➡️ 右方向鍵,然後退出搜索模式,進而修改這條命令,然後繼續執行。

通過 ctrl + r 快捷鍵,可以非常方便的讓我們重複調試某些接口。

與 chrome 瀏覽器 配合,快速調試某接口

我們前端一般在瀏覽器中調試我們的開發項目,當遇到某個接口返回數據與我們預期不一致時,在瀏覽器控制檯中,我們可以看到具體的返回結果,如下圖所示

瀏覽器控制檯

當接口修復後,想要觀察結果,通常是通過刷新頁面。如果是簡單的操作還好,如果是需要多個步驟才能到達的頁面,我相信你的心情會很不好。

這個時候,這個技巧就十分有幫助了!我們在有問題的接口名上右擊,然後點擊 Copy,再點擊 Copy as cURL 就可以把這個請求轉化爲 curl 命令,然後到命令行終端中執行即可。

與 chrome 瀏覽器 配合,快速調試某接口

 

 


參考

更多 curl 的使用方法,以及參數說明,可以在系統中輸入 man curl /curl -help來進行查看。或者,點擊 curl man 查看網頁版的介紹(https://curl.haxx.se/docs/manpage.html)

curl 模擬請求:https://blog.csdn.net/fungleo/article/details/80703365

linux 或 mac 命令行更優雅的使用 curl 命令:https://fungleo.blog.csdn.net/article/details/105794798

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章