Linux下使用curl發起post請求?
引言
cURL是一種命令行實用程序,用于使用一種受支持的協議,從遠程服務器傳輸數據,或將數據傳輸到遠程服務器。默認情況下,已安裝在macOS和大多數Linux發行版上。
開發人員可以使用cURL來測試API接口,查看響應頭和發出HTTP請求。
在本文中,我們將解釋如何使用cURL發出POST請求。HTTP POST方法用于將數據發送到遠程服務器
發出POST請求curl 發出POST請求的命令的一般形式如下:
curl -X POST [options] [URL]
該-X選項指定與遠程服務器通信時將使用哪種HTTP請求方法。
請求主體的類型由其Content-Type標頭指定。通常,POST請求是通過HTML表單發送的。發送到表單的數據通常以multipart/form-data或application/x-www-form-urlencoded內容類型進行編碼。
要創建POST請求,請使用-F選項,然后使用key=value配對。下面的示例說明如何向具有“name”和“email”字段的表單發出POST請求:
curl -X POST -F 'name=Jason' -F 'email=jason@example.com' https://example.com/contact.php
使用該-F選項時,curl使用 Content-Type 為“multipart/form-data”發送數據。
發出POST請求的另一種方法是使用-d選項。這導致curl使用application/x-www-form-urlencodedContent-Type發送數據。
curl -X POST -d 'name=Jason' -d 'email=jason@example.com' https://example.com/contact.php
如果-d多次使用該選項,則可以使用&符號合并數據:
curl -X POST -d 'name=Jason&email=jason@example.com' https://example.com/contact.php
指定Content-Type要設置特定的標題或Content-Type,請使用-H選項。以下命令將POST請求類型設置為,application/json并發送JSON對象:
curl -X POST -H "Content-Type: application/json" -d '{"name": "Jason", "email": "jason@example.com"}' https://example/contact
文件上傳要使用curl來上傳文件,只需在文件位置之前添加 at 符號。該文件可以是任何支持的類型。
curl -X POST -F 'image=@/home/user/Pictures/wallpaper.jpg' http://example.com/upload
寫在最后本文通過實例展示了Linux下的curl工具的POST使用方法,可輕松應對表單提交,文件上傳等等情形,非常實用,也是線上診斷的利器。
Happy coding :-)
我是 @程序員小助手 ,持續分享編程知識,歡迎關注。