国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Linux系統(tǒng)中curl命令用法詳解

這篇具有很好參考價值的文章主要介紹了Linux系統(tǒng)中curl命令用法詳解。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

????????在Linux系統(tǒng)中curl是一個利用URL規(guī)則在命令行下工作的文件傳輸工具,是一款強大的http命令行工具。它支持文件的上傳和下載,是綜合傳輸工具。

????????curl 是常用的命令行工具,用來請求 Web 服務器。它的名字就是客戶端(client)的 URL 工具的意思。

????????如果熟練的話,完全可以取代 Postman 這一類的圖形界面工具。

語法結(jié)構(gòu):

curl [option] [url]

常見參數(shù):

-A/--user-agent <string>              設置用戶代理發(fā)送給服務器
-b/--cookie <name=string/file>    cookie字符串或文件讀取位置
-c/--cookie-jar <file>                    操作結(jié)束后把cookie寫入到這個文件中
-C/--continue-at <offset>            斷點續(xù)轉(zhuǎn)
-D/--dump-header <file>              把header信息寫入到該文件中
-e/--referer                                  來源網(wǎng)址
-f/--fail                                          連接失敗時不顯示http錯誤
-o/--output                                  把輸出寫到該文件中
-O/--remote-name                      把輸出寫到該文件中,保留遠程文件的文件名
-r/--range <range>                      檢索來自HTTP/1.1或FTP服務器字節(jié)范圍
-s/--silent                                    靜音模式。不輸出任何東西
-T/--upload-file <file>                  上傳文件
-u/--user <user[:password]>      設置服務器的用戶和密碼
-w/--write-out [format]                什么輸出完成后
-x/--proxy <host[:port]>              在給定的端口上使用HTTP代理
-#/--progress-bar                        進度條顯示當前的傳送狀態(tài)

一、curl參數(shù)用法

不帶有任何參數(shù)時,curl 就是發(fā)出 GET 請求。

curl https://www.example.com

linux curl,Linux命令,linux,運維,服務器,curl

上面命令向www.example.com發(fā)出 GET 請求,服務器返回的內(nèi)容會在命令行輸出。

-A? 模仿瀏覽器

  • -A參數(shù)指定客戶端的用戶代理標頭,即User-Agent。curl 的默認用戶代理字符串是curl/[version]。
curl -A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36' http://www.baidu.com

linux curl,Linux命令,linux,運維,服務器,curl

-H? 模擬瀏覽器

  • 也可以通過-H參數(shù)直接指定標頭,更改User-Agent。
curl -H 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36' http://www.baidu.com

linux curl,Linux命令,linux,運維,服務器,curl

-b

  • -b參數(shù)用來向服務器發(fā)送 Cookie。
curl -b 'foo=bar' http://www.baidu.com

linux curl,Linux命令,linux,運維,服務器,curl

上面命令會生成一個標頭Cookie: foo=bar,向服務器發(fā)送一個名為foo、值為bar的 Cookie。

curl -b 'foo=bar;foo2=bar2' http://www.baidu.com

linux curl,Linux命令,linux,運維,服務器,curl

上面命令發(fā)送兩個 Cookie。

curl -b cookies.txt http://www.baidu.com

linux curl,Linux命令,linux,運維,服務器,curl

????????上面命令讀取本地文件cookies.txt,里面是服務器設置的 Cookie(參見-c參數(shù)),將其發(fā)送到服務器。

-c

  • -c參數(shù)將服務器設置的 Cookie 寫入一個文件。

linux curl,Linux命令,linux,運維,服務器,curl

上面命令將服務器的 HTTP 回應所設置 Cookie 寫入文本文件cookies.txt。

-d

  • -d參數(shù)用于發(fā)送 POST 請求的數(shù)據(jù)體。
curl -d 'name=dge&age=26' -X POST http://192.168.124.16:5000
curl -d 'name=dge' -d 'age=26' -X POST http://192.168.124.16:5000

linux curl,Linux命令,linux,運維,服務器,curl

????????使用-d參數(shù)以后,HTTP 請求會自動加上標頭Content-Type : application/x-www-form-urlencoded。并且會自動將請求轉(zhuǎn)為 POST 方法,因此可以省略-X POST。

curl -d 'name=dge&age=26' http://192.168.124.16:5000

linux curl,Linux命令,linux,運維,服務器,curl

?-d參數(shù)可以讀取本地文本文件的數(shù)據(jù),向服務器發(fā)送。

linux curl,Linux命令,linux,運維,服務器,curl

--data-urlencode

  • --data-urlencode參數(shù)等同于-d,發(fā)送 POST 請求的數(shù)據(jù)體,區(qū)別在于會自動將發(fā)送的數(shù)據(jù)進行 URL 編碼。
curl --data-urlencode 'comment=hello world' http://192.168.124.16:5000

linux curl,Linux命令,linux,運維,服務器,curl

上面代碼中,發(fā)送的數(shù)據(jù)hello world之間有一個空格,需要進行 URL 編碼。

-e? 偽造referer(盜鏈)

  • -e參數(shù)用來設置 HTTP 的標頭Referer,表示請求的來源。
curl -e 'http://www.baidu.com?q=example' http://www.baidu.com

linux curl,Linux命令,linux,運維,服務器,curl

上面命令將Referer標頭設為http://www.baidu.com?q=example。

  • -H參數(shù)可以通過直接添加標頭Referer,達到同樣效果。
curl -H 'Referer: http://www.baidu.com?q=example' http://www.baidu.com

linux curl,Linux命令,linux,運維,服務器,curl

-F

  • -F參數(shù)用來向服務器上傳二進制文件。
curl -F 'file=@data.txt' http://192.168.124.16:5000

linux curl,Linux命令,linux,運維,服務器,curl

????????上面命令會給 HTTP 請求加上標頭Content-Type: multipart/form-data,然后將文件data.txt作為file字段上傳。

  • -F參數(shù)可以指定 MIME 類型。
curl -F 'file=@data.png;type=image/png' http://192.168.124.16:5000

linux curl,Linux命令,linux,運維,服務器,curl

上面命令指定 MIME 類型為image/png,否則 curl 會把 MIME 類型設為application/octet-stream。

  • -F參數(shù)也可以指定文件名。
curl -F 'file=@data.png;filename=new_name.png' http://192.168.124.16:5000

linux curl,Linux命令,linux,運維,服務器,curl

上面命令中,原始文件名為photo.png,但是服務器接收到的文件名為me.png。

-G

  • -G參數(shù)用來構(gòu)造 URL 的查詢字符串。
curl -G -d 'q=kitties' -d 'count=20' https://google.com/search

????????上面命令會發(fā)出一個 GET 請求,實際請求的 URL 為https://google.com/search?q=kitties&count=20。如果省略--G,會發(fā)出一個 POST 請求。

如果數(shù)據(jù)需要 URL 編碼,可以結(jié)合--data--urlencode參數(shù)。

curl -G --data-urlencode 'comment=hello world' https://www.example.com

-H

  • -H參數(shù)添加 HTTP 請求的標頭。
curl -H 'Accept-Language: en-US' https://google.com

上面命令添加 HTTP 標頭Accept-Language: en-US。

curl -H 'Accept-Language: en-US' -H 'Secret-Message: xyzzy' https://google.com

上面命令添加兩個 HTTP 標頭。

curl -d '{"login": "emma", "pass": "123"}' -H 'Content-Type: application/json' https://google.com/login

????????上面命令添加 HTTP 請求的標頭是Content-Type: application/json,然后用-d參數(shù)發(fā)送 JSON 數(shù)據(jù)。

-i

  • -i參數(shù)打印出服務器回應的 HTTP 標頭。
curl -i https://www.example.com

上面命令收到服務器回應后,先輸出服務器回應的標頭,然后空一行,再輸出網(wǎng)頁的源碼。

linux curl,Linux命令,linux,運維,服務器,curl

-I

  • -I參數(shù)向服務器發(fā)出 HEAD 請求,然會將服務器返回的 HTTP 標頭打印出來。
curl -I https://www.example.com

上面命令輸出服務器對 HEAD 請求的回應。

linux curl,Linux命令,linux,運維,服務器,curl

--head參數(shù)等同于-I。

curl --head https://www.example.com

linux curl,Linux命令,linux,運維,服務器,curl

-k

  • -k參數(shù)指定跳過 SSL 檢測。
curl -k https://www.example.com

上面命令不會檢查服務器的 SSL 證書是否正確。

-L

  • -L參數(shù)會讓 HTTP 請求跟隨服務器的重定向。curl 默認不跟隨重定向。
curl -L -d 'tweet=hi' https://api.twitter.com/tweet

--limit-rate

  • --limit-rate用來限制 HTTP 請求和回應的帶寬,模擬慢網(wǎng)速的環(huán)境。
curl --limit-rate 200k https://google.com

上面命令將帶寬限制在每秒 200K 字節(jié)。

-o? 下載文件

  • -o參數(shù)將服務器的回應保存成文件,等同于wget命令。
curl -o example.html https://www.example.com

上面命令將www.example.com保存成example.html。

-O? 下載文件

  • -O參數(shù)將服務器回應保存成文件,并將 URL 的最后部分當作文件名。
curl -O https://www.example.com/foo/bar.html

上面命令將服務器回應保存成文件,文件名為bar.html。

  • -O:循環(huán)下載

有時候下載圖片可以能是前面的部分名稱是一樣的,就最后的尾椎名不一樣

curl -O http://www.linux.com/dodo[1-5].JPG

這樣就會把dodo1,dodo2,dodo3,dodo4,dodo5全部保存下來。

  • -O:下載重命名
curl -O http://www.linux.com/{hello,bb}/dodo[1-5].JPG

????????由于下載的hello與bb中的文件名都是dodo1,dodo2,dodo3,dodo4,dodo5。因此第二次下載的會把第一次下載的覆蓋,這樣就需要對文件進行重命名。

curl -o #1_#2.JPG http://www.linux.com/{hello,bb}/dodo[1-5].JPG

????????這樣在hello/dodo1.JPG的文件下載下來就會變成hello_dodo1.JPG,其他文件依此類推,從而有效的避免了文件被覆蓋。

-O:分塊下載

有時候下載的東西會比較大,這個時候我們可以分段下載。使用內(nèi)置option:-r

curl -r 0-100 -o dodo1_part1.JPG http://www.linux.com/dodo1.JPG
curl -r 100-200 -o dodo1_part2.JPG http://www.linux.com/dodo1.JPG
curl -r 200- -o dodo1_part3.JPG http://www.linux.com/dodo1.JPG
cat dodo1_part* > dodo1.JPG

這樣就可以查看dodo1.JPG的內(nèi)容了。

-s

  • -s參數(shù)將不輸出錯誤和進度信息。
curl -s https://www.example.com

上面命令一旦發(fā)生錯誤,不會顯示錯誤信息。不發(fā)生錯誤的話,會正常顯示運行結(jié)果。

如果想讓 curl 不產(chǎn)生任何輸出,可以使用下面的命令。

curl -s -o /dev/null https://google.com

-S

  • -S參數(shù)指定只輸出錯誤信息,通常與-s一起使用。
curl -s -o /dev/null https://google.com

上面命令沒有任何輸出,除非發(fā)生錯誤。

-u

  • -u參數(shù)用來設置服務器認證的用戶名和密碼。
curl -u 'bob:12345' https://google.com/login

上面命令設置用戶名為bob,密碼為12345,然后將其轉(zhuǎn)為 HTTP 標頭Authorization: Basic Ym9iOjEyMzQ1。

curl 能夠識別 URL 里面的用戶名和密碼。

curl https://bob:12345@google.com/login

上面命令能夠識別 URL 里面的用戶名和密碼,將其轉(zhuǎn)為上個例子里面的 HTTP 標頭。

curl -u 'bob' https://google.com/login
上面命令只設置了用戶名,執(zhí)行后,curl 會提示用戶輸入密碼。

-v

  • -v參數(shù)輸出通信的整個過程,用于調(diào)試。【可以與上面不帶 -v 的示例做對比】
curl -v https://www.example.com

linux curl,Linux命令,linux,運維,服務器,curl

--trace參數(shù)也可以用于調(diào)試,還會輸出原始的二進制數(shù)據(jù)。

curl --trace - https://www.example.com

linux curl,Linux命令,linux,運維,服務器,curl

linux curl,Linux命令,linux,運維,服務器,curl

linux curl,Linux命令,linux,運維,服務器,curl

-x

  • -x參數(shù)指定 HTTP 請求的代理。
curl -x socks5://james:cats@myproxy.com:8080 https://www.example.com

上面命令指定 HTTP 請求通過myproxy.com:8080的 socks5 代理發(fā)出。

如果沒有指定代理協(xié)議,默認為 HTTP。

curl -x james:cats@myproxy.com:8080 https://www.example.com

上面命令中,請求的代理使用 HTTP 協(xié)議。

-x來支持設置代理

curl -x 192.168.100.100:1080 http://www.linux.com

-X

  • -X參數(shù)指定 HTTP 請求的方法。
curl -X POST https://www.example.com

上面命令對https://www.example.com發(fā)出 POST 請求。

二、curl常用命令

2.1 重定向保存

curl http://www.linux.com >> linux.html

linux curl,Linux命令,linux,運維,服務器,curl

linux curl,Linux命令,linux,運維,服務器,curl

2.2 發(fā)送JSON Body

????????在發(fā)送JSON Body到服務器時,需要設置header的Content-Type為application/json,表示指示curl以JSON的形式發(fā)送Body的數(shù)據(jù)。

????????除了設置header的Content-Type之外,還需要使用curl的-d/--data指定要發(fā)送的JSON字符串,注意JSON需要使用單引號轉(zhuǎn)義。

curl -X POST -H "Content-Type: application/json"  -d '{"name":"dgw","age":"26"}' http://127.0.0.1:5000

2.3 發(fā)送Header

????????如果要發(fā)送Header到服務器,可以使用curl的-H/--header選項,它允許指定header的Key和value值。

????????header的Key和value之間必須要空格并且并且這個header使用雙引號轉(zhuǎn)義,避免shell的解釋。

????????可以同時使用多個-H/--header選項來指定多個header的key和value。你可以看到下面的示例將會發(fā)送多個Header。

????????第一個header設置內(nèi)容類型Content-Type: application/json,第二個header發(fā)送website: myfreax.com。

curl -X POST -H "Content-Type: application/json" -H "website: myfreax.com"  -d '{"name":"dgw","age":"26"}' http://127.0.0.1:5000

2.4 下載文件

????????默認情況下curl將下載url的資源并重定向標準輸出。如果要保存下載的文件,可以使用-o或-O選項。

????????使用小寫-o選項你可以指定保存文件的名稱。還可以指定絕對路徑,curl將會把文件到你指定的絕對路徑中。

????????大寫-O選項將使用其原始文件名保存到文件,并將保存到當前目錄下,即運行curl命令所在目錄的位置。

????????以下curl命令將會下載vue.js文件到當前的目錄中,并使用vue-v2.5.16.js名稱保存文件到當前目錄下。

????????當下載完成后,可以使用ls列出curl下載的vue.js文件。ls vue*表示列出名稱包含vue字符串的文件。

curl -o /home/myfreax/work/vue.js https://cdn.jsdelivr.net/npm/vue/dist/vue.js

curl -O https://cdn.jsdelivr.net/npm/vue/dist/vue.js
ls vue* #查看剛下載文件

2.5 下載多個文件

????????要一次下載多個文件,請使用多個-O選項或者小寫的-o選項,后跟要下載文件的URL。

????????和使用curl下載單個文件一樣。當使用小寫的-o選項時需要指定的下載目錄路徑。使用大寫-O選項會保存當前目錄下。還可以混合使用小寫的-o選項和大寫-O選項。

????????以下curl命令在使用-O選項時將會下載vue.js文件到你當前的目錄中,并使用vue.js名稱保存文件 小寫-o選項將會下載vue.js文件myfreax用戶的家目錄下的wrok目錄,并將文件保存為vue.js。

????????當下載完成后,使用ls列出curl下載的文件。&&表示順序運行命令。

curl -o /home/myfreax/work/vue.js https://cdn.jsdelivr.net/npm/vue/dist/vue.js \
-O https://cdn.jsdelivr.net/npm/vue/dist/vue.js

ls /home/myfreax/work/vue.js && ls vue.js #查看剛下載文件

2.6 斷點續(xù)傳/恢復下載

????????如果您在下載大文件期間斷開連接。你無需從頭開始下載,可以使用-C -選項繼續(xù)上一次的下載。

????????可以在第一次下載大文件時直接指定-C -選項,當下載大文件斷開連接時,直接使用之前的命令即可恢復下載。

curl -C - -O https://releases.ubuntu.com/22.04/ubuntu-22.04-desktop-amd64.iso

參考博文:

curl 的用法指南 - 阮一峰的網(wǎng)絡日志

Linux curl命令詳解 - 都市煙火 - 博客園

Verifying your browser... | myfreax文章來源地址http://www.zghlxwxcb.cn/news/detail-821812.html

到了這里,關于Linux系統(tǒng)中curl命令用法詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • linux 命令 curl 詳解

    curl 是一個命令行訪問URL的計算機邏輯語言的工具,發(fā)出網(wǎng)絡請求,然后得到數(shù)據(jù)并提取出,顯示在標準輸出 stdout 上面; 可以用它來構(gòu)造http request報文, curl(CommandLine Uniform Resource Locator) ,即在命令行中利用URL進行數(shù)據(jù)或者文件傳輸; 支持的協(xié)議包括 ( DICT, FILE, FTP, FTPS, GOPHER

    2024年02月04日
    瀏覽(23)
  • Linux 從入門到精通:curl 命令使用詳解

    Linux 從入門到精通:curl 命令使用詳解

    curl 命令是一個在 Linux 系統(tǒng)中利用 URL 工作的命令行文件傳輸工具,常用于服務訪問和文件下載。curl 支持 HTTP、HTTPS、FTP 等多種協(xié)議(默認是 HTTP 協(xié)議),可用于模擬服務請求以及上傳和下載文件。 1.1 安裝命令 并非所有系統(tǒng)都自帶 curl 命令,對于簡潔版的 Linux 系統(tǒng),可以使

    2024年02月07日
    瀏覽(18)
  • linux 命令 tmux 用法詳解

    linux 命令 tmux 用法詳解

    相信做過 Linux 服務運維的同學,都用 scp 進行過服務器間的大文件網(wǎng)絡傳輸。一般這需要很長的時間,這期間,如果工作電腦出現(xiàn)斷網(wǎng)或者斷電的情況,則會導致遠程連接工具無法與服務器通信,從而使得它所控制的數(shù)據(jù)傳輸也因此中斷。 情景再現(xiàn): 一個 17GB 的大文件,剛

    2024年04月12日
    瀏覽(23)
  • 【Linux 服務器運維】定時任務 crontab 詳解 | 文末送書

    【Linux 服務器運維】定時任務 crontab 詳解 | 文末送書

    本文思維導圖概述的主要內(nèi)容: 1.1 什么是 crontab Crontab 是一個在 Unix 和 Linux 操作系統(tǒng)上 用于定時執(zhí)行任務 的工具。它允許用戶創(chuàng)建和管理計劃任務,以便在特定的時間間隔或時間點自動運行命令或腳本。Crontab 是 cron table 的縮寫, cron 指的是 Unix 系統(tǒng)中的一個后臺進程,它

    2024年02月08日
    瀏覽(129)
  • Linux中g(shù)rep命令的用法詳解

    引言: 在Linux系統(tǒng)中,grep(Global Regular Expression Print)是一個強大的命令行工具,它用于在文本文件中搜索指定的模式。grep命令不僅僅是一個簡單的搜索工具,它還支持正則表達式,可以通過靈活的選項和參數(shù)組合來實現(xiàn)更復雜的搜索和匹配操作。本文將詳細介紹grep命令的用

    2024年02月16日
    瀏覽(38)
  • Linux tail命令詳解和高級用法舉例

    Linux tail命令詳解和高級用法舉例

    目? ? ? ? ? ? 錄 一、概述 二、tail命令解釋 1.命令格式; 2.功能 3.選項 4.選項的基本用法 (1) 顯示行號 (2)忽略指定字符數(shù) (3) 不顯示文件名 三.基本功能 1、基本用法 (1) 查看文件末尾內(nèi)容 (2) 實時監(jiān)控文件變化 2、高級用法 (1)組合使用1:把一個應用程

    2024年01月16日
    瀏覽(19)
  • Linux中rz和sz命令用法詳解

    在linux中rz 和 sz 命令允許開發(fā)板與主機通過串口進行傳遞文件了,下面我們就來簡單的介紹一下rz 和 sz 命令的例子。 rz,sz是Linux/Unix同Windows進行ZModem文件傳輸?shù)拿钚泄ぞ摺?優(yōu)點就是不用再開一個sftp工具登錄上去上傳下載文件。 sz:將選定的文件發(fā)送(send)到本地機器

    2023年04月21日
    瀏覽(21)
  • linux系統(tǒng)之間文件互傳scp命令用法

    以下內(nèi)容轉(zhuǎn)自網(wǎng)絡: 兩臺LINUX主機之間要互傳文件時可使用SCP命令來實現(xiàn) 1. 需要輸入密碼: ?? $ cd cd /home/tony/.ssh/ ?? $ scp id_rsa.pub root@172.17.12.57:/root/.ssh/authorized_keys ???? (然后輸入172.17.12.57那臺機器下的root密碼,便可以傳輸文件id_rsa.pub ????? 到,遠程機器/root/.ssh/下,

    2024年02月06日
    瀏覽(23)
  • Linux命令定位與查找:which、whereis和find的用法詳解

    在Linux系統(tǒng)中,定位和查找文件是我們經(jīng)常需要做的任務之一。本文將介紹三個常用的命令: which 、 whereis 和 find ,它們能夠幫助我們快速定位或查找文件。 Linux路徑環(huán)境變量 在開始介紹這些命令之前,我們先來了解一下Linux的路徑環(huán)境變量。路徑環(huán)境變量是一個包含多個目

    2024年02月07日
    瀏覽(100)
  • linux curl命令使用教程(curl指令)

    linux curl命令使用教程(curl指令)

    curl是一個用于發(fā)送HTTP請求的命令行工具,它支持多種協(xié)議,包括HTTP、HTTPS、FTP、SMTP等。curl可以用來下載文件、上傳文件、發(fā)送POST請求、發(fā)送表單數(shù)據(jù)等。 curl的基本用法如下: 其中,URL是要請求的網(wǎng)址或者文件的URL。 常用的選項包括: -o, --output file :將下載的文件保存到

    2024年02月09日
    瀏覽(92)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包