最近,我對人們如何學習新事物感興趣。我正在讀 Kathy Sierra 的好書《Badass: Making Users Awesome》,它探討了有關「刻意練習」的想法。這個想法是,你找到一個可以用三節 45 分鐘課程內能夠學會的小技能,並專注於學習這項小技能。因此,作為一項練習,我嘗試考慮一項能夠在三節 45 分鐘課程內學會的計算機技能。
我認為使用 curl 構造 HTTP 請求也許就是這樣的一項技能,所以這裡有一些 curl 練習作為實驗!
什麼是 curl ?
curl 是用於構造 HTTP 請求的命令行工具。我喜歡使用 curl,因為它能夠很輕鬆地測試伺服器或 API 的行為是否符合預期,但是剛開始接觸它的時候會讓你感到一些困惑!
下面是一幅解釋 curl 常用命令行參數的漫畫 (在我的 Bite Size Networking 雜誌的第 6 頁)。
熟能生巧
對於任何命令行工具,我認為熟練使用是很有幫助的,能夠做到只輸入必要的命令真是太好了。例如,最近我在測試 Gumroad API,我只需要輸入:
curl https://api.gumroad.com/v2/sales \ -d "access_token=<SECRET>" \ -X GET -d "before=2016-09-03"
就能從命令行中得到想要的結果。
21 個 curl 練習
這些練習是用來理解如何使用 curl 構造不同種類的 HTTP 請求的,它們是故意有點重複的,基本上包含了我需要 curl 做的任何事情。
為了簡單起見,我們將對 https://httpbin.org 發起一系列 HTTP 請求,httpbin 接受 HTTP 請求,然後在響應中回顯你所發起的 HTTP 請求。
10. 發起與上一次相同的 POST 請求,但是這次要把請求頭中的 Content-Type 欄位設置成 application/json(因為 POST 請求需要一個與請求體相匹配的 Content-Type 請求頭欄位)。查看響應體中的 json 欄位,對比上一次得到的響應體via: https://jvns.ca/blog/2019/08/27/curl-exercises/
作者:Julia Evans 選題:lujun9972 譯者:hanwckf 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出