curl 作者 Daniel Stenberg 計劃:將為 curl 新增原生支援 JSON

六一 發表於 2022-01-25

近日,curl 作者 Daniel Stenberg 計劃將為 curl 新增原生支援 JSON ,
並給出了三個理由。

  • 在 REST APIs 等領域,傳送 JSON 是很普遍的做法
  • 當被問及人們選擇 curl 替代方案的考慮因素時,“易於使用 JSON”是常見的答案
  • 在 Stack Overflow 等網站上,因為 JSON 使用了雙引號,而 Shell 不會在單引號內擴充套件變數從而導致許多人無法使用 curl 傳送正確的 JSON 和正確引用 JSON

Daniel 表示,由於他不經常傳送 JSON,所以不適合完全靠他來設計這個功能。他需要更多其他人的幫助來讓這個功能儘可能地有用。

簡單來說,Daniel 計劃增加兩個命令列選項:

  • 傳送已格式化的 JSON 作為 -d 的快捷方式,並附帶相匹配的 Accept header
  • 構建 JSON request body 進行傳送

目前 Daniel 已經在curl wiki中起草了他更新的概念,同時建立了討論區。感興趣的朋友們可以積極參與討論。

curl wiki 連結:https://github.com/curl/curl/...

討論區連結:https://github.com/curl/curl/...

關於 cURL

cURL是一個開源專案,主要的產品是curl(命令列工具)和libcurl(C語言的API庫),兩者功能均是:基於網路協議,對指定URL進行網路傳輸。

curl 是一款利用 URL 語法在命令列下工作的檔案傳輸工具,1997 年首次發行。它支援檔案上傳和下載,所以是一款綜合傳輸工具。curl 包含用於程式開發的 libcurl,可處理各種情況的認證頁面,如互動式的讓使用者輸入密碼等,目前可在MIT許可證下使用。