curl命令總結(jié)

業(yè)務(wù)當(dāng)中經(jīng)常調(diào)試接口,一向用postman模擬,但是其實還有更簡單的命令行方法
這就是curl
用來測試接口,用來快速查看header,等等
===================================

一、查看網(wǎng)頁源碼

二、自動跳轉(zhuǎn)

$ curl -L www.sina.com

鍵入上面的命令,結(jié)果就自動跳轉(zhuǎn)為www.sina.com.cn。
三、顯示頭信息

  • -i 可以增加頭信息顯示
  • -I參數(shù)則是只顯示http response的頭信息。

四、顯示通信過程

  • -v參數(shù)可以顯示一次http通信的整個過程,包括端口連接和http request頭信息。
      $ curl -v www.sina.com

  • 如果你覺得上面的信息還不夠,那么下面的命令可以查看更詳細的通信過程。
      $ curl --trace output.txt www.sina.com

  • or:
      $ curl --trace-ascii output.txt www.sina.com

運行后,請打開output.txt文件查看。
五、發(fā)送表單信息

  • 發(fā)送表單信息有GET和POST兩種方法。GET方法相對簡單,只要把數(shù)據(jù)附在網(wǎng)址后面就行。
      $ curl example.com/form.cgi?data=xxx

  • POST方法必須把數(shù)據(jù)和網(wǎng)址分開,curl就要用到--data參數(shù)。
      $ curl -X POST --data "data=xxx" example.com/form.cgi

  • 如果你的數(shù)據(jù)沒有經(jīng)過表單編碼,還可以讓curl為你編碼,參數(shù)是--data-urlencode。
      $ curl -X POST--data-urlencode "date=April 1" example.com/form.cgi

六、HTTP動詞

  • curl默認的HTTP動詞是GET,使用-X參數(shù)可以支持其他動詞。
      $ curl -X POST www.example.com

$ curl -X DELETE www.example.com

七、文件上傳

  • 假定文件上傳的表單是下面這樣:
<form method="POST" enctype='multipart/form-data' action="upload.cgi">
<input type=file name=upload>
<input type=submit name=press value="OK">
</form>
  • 你可以用curl這樣上傳文件:
      $ curl --form upload=@localfilename --form press=OK [URL]

八、Referer字段

九、User Agent字段

  • curl可以這樣模擬:
      $ curl --user-agent "[User Agent]" [URL]

十、cookie
使用--cookie參數(shù),可以讓curl發(fā)送cookie。
  $ curl --cookie "name=xxx" www.example.com

  • 至于具體的cookie的值,可以從http response頭信息的Set-Cookie字段中得到。
    -c cookie-file可以保存服務(wù)器返回的cookie到文件
    -b cookie-file可以使用這個文件作為cookie信息,進行后續(xù)的請求。
    $ curl -c cookies http://example.com  $ curl -b cookies http://example.com

十一、增加頭信息
有時需要在http request之中,自行增加一個頭信息。--header參數(shù)就可以起到這個作用。
  $ curl --header "Content-Type:application/json" http://example.com

十二、HTTP認證
有些網(wǎng)域需要HTTP認證,這時curl需要用到--user參數(shù)。
  $ curl --user name:password example.com

=======================================================================

curl VS wget命令

二者之間有很多相似的地方,比如:
-O 都是另存為一個東西
-c 斷點續(xù)傳
wget -i requ

荊軻刺秦王

1 如果想看更多的cookie操作,可以試試lynx命令
2 如果想在命令行端直接上網(wǎng)瀏覽,可以試試w3m

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評論 19 139
  • 轉(zhuǎn)載自:http://www.cnblogs.com/txw1958/archive/2013/01/19/286...
    php_bruce閱讀 2,449評論 1 5
  • CURLOPT_RETURNTRANSFER 選項:curl_setopt($ch, CURLOPT_RETURN...
    Talentisan閱讀 17,132評論 0 2
  • 一、什么是CURL? cURL 是一個利用URL語法規(guī)定來傳輸文件和數(shù)據(jù)的工具,支持很多協(xié)議,如HTTP、FTP、...
    伊Summer閱讀 1,390評論 0 4
  • 首先要知道curl是一個無比有用的網(wǎng)站開發(fā)工具,作用是發(fā)出網(wǎng)站請求,然后得到和提取數(shù)據(jù),顯示在"標(biāo)準(zhǔn)輸出"(std...
    丶Honour閱讀 1,451評論 0 2

友情鏈接更多精彩內(nèi)容