linux默認(rèn)安裝curl嗎

linux不是默認(rèn)安裝cURL的。curl是一個利用URL在命令行工作的文件傳輸工具,并不是所有的linux系統(tǒng)中都會自帶curl命令,例如簡潔版的Linux系統(tǒng)就可能并不存在,只需通過執(zhí)行“yum install curl”命令安裝即可。

linux默認(rèn)安裝curl嗎

本教程操作環(huán)境:linux5.9.8系統(tǒng)、Dell G3電腦。

curl 命令

Linux 系統(tǒng)中的 curl 命令是一個利用 URL 在命令行工作的文件傳輸工具,通常用于 Linux 系統(tǒng)中服務(wù)的訪問和文件的下載。

curl 命令支持httphttps、FTP等多種協(xié)議,可用于服務(wù)請求的模擬和文件的上傳下載。

linux默認(rèn)安裝curl嗎?

linux不是默認(rèn)安裝curl。

并不是所有的系統(tǒng)中都會自帶 curl 命令,對于簡潔版的 Linux 系統(tǒng)可能并不存在,此時可以使用 yum 命令來安裝 curl,yum install curl。

安裝完成后,可以使用curl –version命令查看系統(tǒng)中 curl 的版本信息。

curl 命令的語法格式

curl 命令的標(biāo)準(zhǔn)使用語法是:curl [options] [url],其中 options 用于指定參數(shù)項,url是請求的服務(wù)地址。

不使用參數(shù)項執(zhí)行請求:curl http://www.baidu.com,該情況下命令執(zhí)行會直接請求指定的服務(wù)地址,并將請求結(jié)果源代碼輸出到 Linux 命令行中。

linux默認(rèn)安裝curl嗎

相關(guān)參數(shù):

curl 命令通過不同的參數(shù)項實現(xiàn)了豐富的功能,常見的參數(shù)項有:

  • -i,即 –head,表示請求結(jié)果顯示響應(yīng)頭信息

  • -o,即 –output,后跟文件路徑,表示將請求結(jié)果寫入到指定文件中

  • -s,即 –silent,靜默模式,表示此時請求結(jié)果不會出現(xiàn)額外信息

  • -w,即 –write-out [format],參數(shù)后跟格式串,表示命令執(zhí)行完成后指定輸出內(nèi)容

通常在測試接口是否正常時可以使用命令:

curl?-o?/dev/NULL?-s?-w?%{http_code}?http://www.baidu.com

此時服務(wù)的返回源碼寫入到空地址null中,且開啟靜默模式,并在請求后輸出http狀態(tài)碼,如請求成功,則返回 200。

對于 curl 的更多可用參數(shù)項,可以使用 curl -h/–help 查詢。

使用 curl 上傳和下載文件

1、文件上傳

curl 中提供了上傳文件的命令參數(shù),可以通過 -F 后跟文件信息發(fā)起請求

curl?-F?'file=@test.png;type=image/png'?http://www.baidu.com/upload

其中,需要注意的是:

使用-F參數(shù)時,curl認(rèn)為是上傳文件,會默認(rèn)指定-H Content-Type: multipart/form-datas,表示使用文件上傳的格式

-F參數(shù)指定文件信息時,可以指定多個文件以及文件類型,多個參數(shù)使用;分隔

2、文件下載

curl 命令中下載文件的方式有很多種,分別是:

  • 對于請求得到的結(jié)果數(shù)據(jù),可以使用Linux種的重定向功能保存到文件 … >> index.html

  • 使用-o/-O參數(shù)請求文件并保存,curl -o a.jpg http://www.baidu.com/b.jpg

  • 請求下載文件是,可以同時指定-#參數(shù),這樣會顯示文件下載的進(jìn)度,使用-s關(guān)閉

  • 如果文件下載過程停止,可以增加-C參數(shù)執(zhí)行文件的斷點續(xù)傳

使用 curl 模擬 GET/POST 請求

curl 命令支持 POST 請求、Cookies、認(rèn)證等操作,因此還可以很好的應(yīng)用于開發(fā)過程中服務(wù)接口請求的模擬。

1、模擬 GET 請求

GET 請求其實就是最簡單的服務(wù)請求,是通過 url 拼接的方式攜帶參數(shù)信息,因此直接使用 curl 最簡單的請求方式即可。

開發(fā)過程中模擬 GET 請求獲取數(shù)據(jù):

curl?http://localhost:8080/getUserInfo?id=1。

2、模擬 POST 請求

POST 請求是作為數(shù)據(jù)提交的一種方式,在請求服務(wù)地址時會攜帶參數(shù)信息進(jìn)行提交,curl 命令中也提供了攜帶參數(shù)信息的方法。

  • -X,參數(shù)后跟請求方式,可以執(zhí)行 POST 請求

  • -H,參數(shù)后跟字符串,可以指定請求頭信息,如 “Content-Type:application/json” 表示以 json 格式傳輸數(shù)據(jù)

  • -d,參數(shù)后跟字符串,可以通過字符串的方式指定請求參數(shù)內(nèi)容,使用-d參數(shù)時需要注意

    • 該命令可以使用多次,來分別指定多個參數(shù)信息

    • 也可以使用 -d ‘key1=val1&key2=val2’ 來一次指定多個參數(shù)

    • 如果指定了參數(shù)為json類型,則可以使用 -d ‘{“id”:1,”name”:”shone”}’ 來傳遞一個json對象

    • 使用 -d 參數(shù)后,請求類型會默認(rèn)為POST,此時可以省略 -X 參數(shù)的指定

    • -d參數(shù)還可以指定文件作為參數(shù),使用@后跟文件名的方式,-d “@test.txt”

對于一個完整的POST請求可以是:

curl?-H?"Content-Type:application/json"?-d?'{"id":1,"name":"shone"}'?http://localhost:8080/queryInfo

3、使用 Cookies

瀏覽器在進(jìn)行服務(wù)請求時,通常會保存請求信息到Cookies中,可以使用 -D 參數(shù)來指定保存請求的Cookies

curl?-o?page1.html?-D?cookie.txt?http://www.baidu.com

curl 命令還可以模擬瀏覽器的請求,使用 -A 指定瀏覽器信息來模仿瀏覽器發(fā)起請求并保存Cookies

curl?-A?"Mozilla/4.0?(compatible;?MSIE?6.0;?Windows?NT?5.0)"?-o?page.html?-D?cookie.txt?http://mydomain.net

保存的Cookie信息,可以在請求時使用-b參數(shù)指定攜帶Cookie

curl?-b?cookie.txt?http://www.baidu.com

相關(guān)推薦:《Linux視頻教程

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊9 分享