curl -H "Content-Type: application/json" --data "{\"data\":\"some data\"}" https://open.explinks.com/echo/

什么是 cURL 命令?

cURL是一種命令行工具,使用此命令行界面 (CLI),用戶可以指定服務器 URL(他們想要發送請求的位置)即可請求 Web 服務器。

cURL 命令使用 libcURL 客戶端 URL傳輸庫。此庫支持多種不同的傳輸協議,包括 HTTPS、SMTP 和 FTP。它還允許您在發出請求時包含 Cookie、設置代理和添加身份驗證憑據。

cURL 支持幾乎各種互聯網協議(DICT、FILE、FTP、FTPS、 GOPHER、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、 MQTT、POP3、POP3S、RTMP、RTMPS、RTSP、SCP、SFTP、SMB、SMBS、SMTP、SMTPS、TELNET 和 TFTP)。

cURL具有如下優勢:

cURL 的起源和發展歷史

在上個世紀 90 年代,人人都在用命令行工具,Daniel Sterberg 想開發一款簡單好用的 IRC 腳本來幫助聊天室網友兌換貨幣。在 1997 年,為互聯網協議數據傳輸基礎的選擇并不多 ,因此,Httpget(基于 HTTP 傳輸的數百行代碼)便成為 cURL 最初的選擇。為了紀念這段基礎代碼,取名為 HTTPGET 1.0。 

幾個月后,因開發出了支持 FTP 的客戶端而棄用之前的名字,更名為 url2.0。幾度更新后,于 1998 年 3 月30 日,再次更名為如今大名鼎鼎的 cURL3.0。

cURL是做什么用的?

cURL 的作用就是通過互聯網協議傳輸數據,可用于以下場景:

cURL 怎么用?

使用相對較新操作系統的用戶,幾乎人人都可能在使用 cURL,因為它是 Windows、MacOS 和大多數 Linux 系統的默認配置。如果是較老的操作系統,例如 Windows 10 以前的系統,可能需要下載cURL并安裝 cURL。

要使用 cURL,只需打開終端輸入 “curl” 即可,正常情況下,系統會調出 “curl –help”。

cURL 命令的語法

curl 命令的基本語法可以包括選項和 URL:

cURL [選項] [URL]

1、選項:當我想自定義請求的行為時,需要指定選項,以下是一些常見選項:

2、URL:指定的 URL 或位置告訴 cURL 命令我想要從哪里訪問數據或發送數據。

cURL用于發送 API 請求

我們可以使用 curl 發送 API 請求。每個請求通常由四個主要部分組成:

請求代碼:
curl -d @request.json -H "Content-Type: application/json" --data "{\"data\":\"some data\"}" http://localhost:8082/spring-rest/foos/new
-- 端點:http://localhost:8082/spring-rest/foos/new
-- HTTP方法:選項-d,表示用post方法
-- 標頭:Content-Type: application/json
-- Body:{\"data\":\"some data\"}
返回值:
{
"timestamp" : "15-07-2018 05:57",
"status" : 415,
"error" : "Unsupported Media Type",
"exception" : "org.springframework.web.HttpMediaTypeNotSupportedException",
"message" : "Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported",
"path" : "/spring-rest/foos/new"
}

cURL常見使用場景及指令格式指南

在本節中,將使用 JSONPlaceholder Fake API來解釋使用 cURL 的不同方法。此模擬 API 包含用于發出請求的不同示例路徑。

從源請求數據

使用cURL 的GET方法,您可以快速從源或 API 請求數據。以下是發出GET請求的簡單 cURL 命令:終端cURL https://jsonplaceholder.typicode.com/todos/1

如果不傳遞任何標志或選項,cURL 命令默認向指定 URL 發出GET請求。該命令返回從 API 發送的響應主體,在您的終端中顯示如下:

{ “userId”: 1, “id”: 1, “title”: “delectus aut autem”, “completed”: false }

這與 Postman 等平臺的結果類似,如下所示:

curl 命令 linux, postman

此外,您還可以包含選項和值,以便在 cURL 命令中使用不同的請求方法。例如,您可以在請求方法中使用-X (連字符和大寫 X)選項。 -X選項是**–request**的別名。

寫入命令如下:終端cURL -X [METHOD] [URL]

上面第一個 cURL 命令中的默認GET方法與以下內容相同:終端cURL -X GET https://jsonplaceholder.typicode.com/todos/1

發送數據到源

使用POST方法和 cURL 命令,您可以通過 API 將數據傳輸到服務器。API 處理數據,然后執行諸如將其保存到數據庫等步驟,并返回指示請求狀態的響應。

要向URL發出POST請求,請使用**-X選項并將POST方法作為值傳遞。但是如何在請求中添加數據?您可以使用另一個選項-d (連字符和小寫的 d),這是–data**的別名。

在使用請求發送數據時,您可以使用兩種流行的數據格式:application/x-www-form-urlencodedapplication/json。接下來我們將介紹這兩種方法。

應用程序/x-www-form-URLencoded

如果您未指定所需的格式,cURL默認使用application/x-www-form-urlencoded 。以下是使用此格式和 JSON fake API 的示例:終端cURL -X POST -d “name=cURL&type=article” https://jsonplaceholder.typicode.com/posts

此命令向https://jsonplaceholder.typicode.com/posts發出**POST請求,并傳遞 URL 編碼數據“name=cURL&type=article”,**這是一個帶有 cURL 值的名稱鍵和一個帶有文章值的類型鍵。

對于向 JSON Fake API 發出的POST請求,響應正文是與 ID 屬性一起發送的數據對象。

輸入命令后,API 的響應主體如下:

{ “名稱”:“cURL”, “類型”:“文章”, “ID”:101 }

應用程序/JSON

使用 cURL,您還可以發送字符串化的 JSON 對象,如下所示:終端cURL -X POST -d ‘{“name”: “cURL”, “type”: “article”}’ https://jsonplaceholder.typicode.com/posts

如上所述,此請求中的數據以application/x-www-form-urlencoded格式發送。以下是 API 的結果:

{ “{“名稱”: “cURL”, “類型”: “文章”}”: “”, “id”: 101 }

API 認為請求數據是 URL 編碼的數據格式,因此它不會按照您的預期進行解釋。您必須使用 -H 帶大寫 H 的連字符)選項(–header的別名)并傳遞Content-Type標頭來指定這是 JSON 數據格式,如下所示:終端cURL -X POST -d ‘{“name”: “cURL”, “type”: “article”}’ -H “Content-Type: application/json” https://jsonplaceholder.typicode.com/posts

現在,您可以從 API 獲得正確的響應主體:

{ “名稱”:“cURL”, “類型”:“文章”, “ID”:101 }

您不必在終端中輸入 JSON 字符串,而是可以指定 cURL 命令將用于數據選項的 JSON 文件。例如,假設您有一個名為data.json的文件,其中包含以下內容:

{ “名稱”:“cURL”, “類型”:“文章” }

您可以運行 cURL 命令,假設它與文件位于同一項目中。此命令將獲取 JSON 文件,對其進行字符串化,并將其與請求一起發送。您將獲得與上述相同的結果:

{ “名稱”:“cURL”, “類型”:“文章” }

刪除服務器上的資源

您可以使用DELETE方法和 cURL 命令向 API 發送刪除請求。您向此請求提供的 URL 和數據取決于 API 配置。

對于 JSON Fake API,您可以像這樣指定資源路徑和DELETE方法:終端cURL -X DELETE https://jsonplaceholder.typicode.com/posts/1

響應主體是一個空對象:

{}

最適合使用 API 更新現有資源

使用PUT方法和 cURL 命令,您可以向 API 發出“更新”請求以修改現有資源。對于 JSON Fake API,您可以指定資源路徑和PUT方法并傳遞一些數據來更新資源。

您可以在此處使用所需的任何數據格式。此示例使用application/json:終端cURL -X PUT -d ‘{“name”: “json”, “type”: “post”}’ -H “Content-Type: application/json” https://jsonplaceholder.typicode.com/posts/1

您必須直接在標頭中指定數據格式,以便 API 能夠正確解釋請求。

上述代碼返回以下響應主體:

{ “名稱”:“json”, “類型”:“post”, “id”:1 }

cURL 支持的常見協議和指令格式指南

默認情況下,cURL 使用 HTTP 協議。以下是 cURL 可以使用的一些其他協議和指令格式:

文件傳輸協議(FTP)

文件傳輸協議 ( FTP ) 將文件從服務器傳輸到客戶端。將此協議與 cURL 結合使用可上傳文件,如下所示:終端cURL -T [selected-file] “ftp://[target-destination]”

cURL 可以很好地替代標準FTP 客戶端。

簡單郵件傳輸協議(SMTP)

簡單郵件傳輸協議 ( SMTP ) 用于將數據發送到 SMTP 服務器。此數據包括您要發送的文本、發件人和收件人。它看起來像這樣:終端cURL smtp://[smtp-sever] –mail-from [sender] –mail-rcpt \ [receiver] –upload-file [mail-content-file]

字典網絡協議(DICT)

字典網絡協議 ( DICT ) 提供對字典的訪問。將其與 cURL 一起使用,請運行以下命令:終端cURL “dict://dict.org/d:hello”

通過此命令,您將獲得一個結果,顯示所選的字典以及字典中“hello”的含義。

地鼠(GOPHER)

gopher 協議可用于在終端中搜索、分發和檢索來自 Web 的文檔。命令如下:終端cURL gopher:/serveraddress.com/resource/selector

超文本傳輸安全協議 (HTTPS)

HTTPS 是一種流行的協議,當與命令行中的 curl 一起使用時,它可以簡化檢索數據、API 交互、自動執行測試等任務以及一些網絡操作。

使用此協議時,由于 HTTP 的安全加密連接,跨服務器傳輸的數據可以保持機密性和完整性。運行以下命令,但請確保指定要訪問的網址:終端cURL https://www.example.com

互聯網消息協議 (IMAP)

使用 IMAP 和 curl 命令可以實現郵件服務器交互、檢索和閱讀電子郵件以及郵箱管理。當我想從命令行搜索收件箱時,我會使用 IMAP 協議。curl -X’搜索文本“示例”’ imaps://imap.example.com/INBOX

使用上面的命令結構,我可以在收件箱中搜索包含特定單詞的電子郵件。 將“example”替換為您要在電子郵件中查找的單詞。將“ // imap.example.com/INBOX ”更改為您的 IMAP 服務器地址 + 您要搜索的郵箱。

輕量級目錄訪問協議 (LDAP)

將 cURL 與 LDAP 結合使用非常適合訪問和管理存儲目錄服務信息的服務器。如果您想使用命令行完成諸如驗證用戶身份、更新目錄或修改訪問控制列表等任務,那么 LDAP 協議是值得使用的。終端curl -v ldap://example.com:389/dc=example,dc=com

此命令將在端口 389 上啟動與 example.com 的 LDAP 連接,并從基本可分辨名稱 (DN) dc=example,dc=com 開始執行搜索。請確保將 example.com 和基本 DN 替換為 LDAP 服務器的實際主機名和基本 DN。

郵局協議版本 3 (POP3)

POP3 可以與 cURL 命令一起使用,將電子郵件從郵件服務器檢索到本地環境。如果您想使用腳本自動管理電子郵件,您一定要嘗試一下這個命令協議組合。終端curl -u username:password -l pop3.example.com -R <message_id> > email.txt

雖然可以將 POP3 與 curl 一起使用,但它的安全性較低且功能有限。

實時流媒體協議(RTSP)

如果要從命令行與流媒體服務器交互,可以使用帶有 cURL 的 RTMP 協議。命令結構如下所示:終端curl -i -X Play rtsp://example.com/stream

請記住,實際視頻不會顯示在終端中。相反,您將收到有關所請求媒體的基于文本的響應。

Curl 命令的輸出

雖然 API 平臺通常提供直觀的界面來請求和將數據傳輸到 URL,但 cURL 可以成為終端的絕佳工具。以下是 cURL 命令和系統輸出的一些日常用例。

從終端輸出快速測試 API

正如我們所見,cURL 允許您從終端快速測試 API,而無需下載任何基于 API 的應用程序。讓我們使用 Google 提供的地理位置 API。以下命令返回達拉斯牛仔體育場的時區:終端cURL “https://maps.googleapis.com/maps/api/timezone/json?location=32.7480,-97.0934&timestamp=1331161200&key=YourKeyHere”

檢查以下命令的輸出:

curl 命令 linux,, 時間

下載圖像和文件至設備輸出

由于終端可以訪問文件系統,因此您還可以輕松地從 URL 下載圖像。例如,這是 Google 徽標URL。使用 cURL,您可以像這樣下載圖像:終端cURL https://www.google.com/images/branding/googlelogo/2x/googlelogo_light_color_272x92dp.png > google-logo.png

檢查以下命令的輸出:

curl 命令 linux,, 時間

使用 cURL 和圖片的 URL 返回圖片的二進制數據。通過將原始圖片數據存儲在圖片文件中(擴展名為 .png,與原始圖片的擴展名匹配),您可以將圖片保存在設備上。

保存 URL 內容輸出

與下載圖片一樣,您也可以將 URL(例如網頁)的內容保存到文件中。以下是 Google 主頁的示例:終端cURL -o google.html https://www.google.com

下面的輸出將 Google 主頁的源代碼保存到名為 google.html 的文件中。

curl 命令 linux,, 保存

讓 cURL 為您服務。

cURL 是一個 CLI 工具,可讓您使用不同的協議通過 URL 請求和傳輸數據。它為您提供了靈活性和對終端上 URL 的控制。

在終端上使用 cURL 很簡單,但對于每個用戶來說可能并不直觀。通過提供 URL 和所需的選項,您可以從 URL 請求和下載數據、將數據傳輸到 URL 等等。

一站搜索、試用、比較全球API!
冪簡集成已收錄 6656種API!
試用API,一次比較多個渠道
国内精品久久久久影院日本,日本中文字幕视频,99久久精品99999久久,又粗又大又黄又硬又爽毛片
久久精品免费观看| 欧美日本在线看| 欧美日韩在线综合| 国产精品一区二区在线观看网站| 亚洲欧洲日韩一区二区三区| 欧美成人一区二区三区| 一本色道亚洲精品aⅴ| 国产一区二区美女诱惑| 三级影片在线观看欧美日韩一区二区| 国产日韩高清在线| 精品欧美乱码久久久久久 | 国产精品美女一区二区三区| 日韩欧美国产一区二区在线播放| 欧美专区亚洲专区| 欧美自拍丝袜亚洲| 欧美在线三级电影| 欧美福利一区二区| 日韩欧美精品三级| 精品成人一区二区三区四区| 久久久不卡网国产精品一区| 国产亚洲成aⅴ人片在线观看| 国产日韩欧美麻豆| 国产精品久99| 亚洲一区av在线| 免费在线观看成人| 国产精品1区二区.| 91视频国产观看| 欧洲国内综合视频| 日韩欧美成人一区| 国产日韩成人精品| 一区二区三区欧美在线观看| 午夜久久电影网| 韩国女主播一区二区三区| 国产成人精品aa毛片| 99国产精品久| 制服.丝袜.亚洲.另类.中文| 久久久九九九九| 亚洲精品成人精品456| 日本va欧美va瓶| 成人美女在线观看| 欧美日韩国产综合一区二区| 2024国产精品视频| 亚洲一区二区偷拍精品| 韩国三级在线一区| 欧美在线观看你懂的| 久久精品一区二区| 天天综合日日夜夜精品| 成人免费不卡视频| 精品国产乱码久久久久久闺蜜| 亚洲免费在线视频| 国产suv精品一区二区三区| 欧美日韩精品高清| 日韩毛片精品高清免费| 久久精品国产999大香线蕉| 在线亚洲高清视频| 久久久久久99精品| 丝袜美腿亚洲色图| 日本高清免费不卡视频| 国产欧美一区二区三区在线老狼| 亚洲午夜av在线| 9久草视频在线视频精品| 日韩三级免费观看| 爽好多水快深点欧美视频| k8久久久一区二区三区| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 美日韩一级片在线观看| av网站免费线看精品| 2017欧美狠狠色| 蜜臀av一区二区| 欧美乱熟臀69xxxxxx| 亚洲综合999| 在线免费视频一区二区| 亚洲视频免费看| 91在线你懂得| 亚洲美女视频在线| 91在线免费视频观看| 中文字幕一区二区三区精华液| 国产精品亚洲人在线观看| 欧美mv日韩mv国产网站app| 日韩不卡一二三区| 日韩欧美亚洲国产另类| 国产原创一区二区| 国产精品久久看| 一本大道久久a久久综合| 亚洲永久精品国产| 欧美高清激情brazzers| 日韩和欧美一区二区三区| 日韩一区二区精品在线观看| 久久99国产精品成人| 久久久www免费人成精品| 不卡的av在线| 一区二区在线观看视频在线观看| av一区二区不卡| 亚洲成人资源网| 日韩欧美综合一区| 成人高清视频在线观看| 亚洲不卡在线观看| 国产校园另类小说区| 91久久免费观看| 激情欧美一区二区三区在线观看| 亚洲欧洲精品一区二区三区| 欧美视频完全免费看| 国产真实精品久久二三区| 综合久久久久久| 精品国产乱码久久| 色噜噜狠狠色综合欧洲selulu| 亚洲成人动漫在线观看| 久久免费视频一区| 欧美手机在线视频| 国产成人丝袜美腿| 久久国产视频网| 亚洲欧洲色图综合| 欧美精品一区二区三区蜜臀 | 日韩欧美国产午夜精品| 色婷婷香蕉在线一区二区| 蜜臀91精品一区二区三区| 亚洲蜜臀av乱码久久精品蜜桃| 欧美一区二区三区思思人| 成人av午夜影院| 久久精品国产精品亚洲精品| 一区二区不卡在线播放 | 免费成人在线影院| 亚洲成人自拍偷拍| 亚洲欧美视频一区| 欧美国产成人在线| 精品国产123| 日韩一区二区三区四区五区六区| 91视视频在线观看入口直接观看www | 精品视频1区2区| 91丝袜美女网| 99精品热视频| 高清久久久久久| 国产一区二区美女| 精品一区二区久久| 蜜臀a∨国产成人精品| 偷拍自拍另类欧美| 日韩综合在线视频| 日韩av电影免费观看高清完整版 | 亚洲va在线va天堂| 亚洲国产精品久久久久婷婷884 | 亚洲a一区二区| 亚洲高清视频在线| 五月婷婷综合网| 蜜臀a∨国产成人精品| 麻豆国产一区二区| 久久99热这里只有精品| 国产最新精品精品你懂的| 麻豆一区二区99久久久久| 青娱乐精品视频在线| 久久疯狂做爰流白浆xx| 蜜桃一区二区三区在线观看| 久久不见久久见中文字幕免费| 麻豆91精品视频| 极品美女销魂一区二区三区| 国产麻豆精品久久一二三| 成人黄色免费短视频| 色综合久久中文综合久久牛| 欧美日韩一二三区| 久久久精品人体av艺术| 亚洲精品国产精华液| 丝袜美腿亚洲一区二区图片| 精品中文字幕一区二区小辣椒| 国产精品一二三区在线| 91国产丝袜在线播放| 91精品国产91热久久久做人人| 精品蜜桃在线看| 亚洲精品免费视频| 精品影视av免费| 91麻豆福利精品推荐| 日韩午夜精品视频| 国产精品久久久久aaaa樱花 | wwwwww.欧美系列| 夜夜嗨av一区二区三区中文字幕| 香蕉加勒比综合久久| 国产麻豆欧美日韩一区| 在线观看不卡一区| 国产亚洲婷婷免费| 亚洲成人动漫在线免费观看| 国产在线不卡一卡二卡三卡四卡| 91在线观看免费视频| 日韩一级欧美一级| 亚洲最色的网站| 成人综合在线观看| 欧美一级xxx| 亚洲一区免费在线观看| 国产精品2024| 欧美www视频| 日韩高清欧美激情| 在线精品观看国产| 1024成人网| 国产成人在线视频网站| 日韩欧美在线一区二区三区| 中文字幕中文字幕一区| 国产一区二区免费看| 91精品国产乱码| 亚洲成人tv网| 欧美日韩一区二区三区免费看| 自拍偷拍亚洲综合| 成人av资源站| 亚洲欧洲av在线|