1. -X 指定請求方式
GET請求
curl -X GET http://www.jackyops.com/search?data=123 # -X GET是可選的html
POST請求
curl -X POST -d"data=123&key=456" http://www.jackyops.com/search -v
因爲-d選項爲使用POST方式向server發送數據,所以在使用-d的時候,能夠省略-X POST。使用-d時,將使用Content-type:application/x-www-form-urlencoded方式發送數據。
若是想使用JSON形式post數據,能夠使用-H指定頭部類型
curl -H "Content-Type:application/json" -d '{"data":"123","key":"456"}' http://www.jackyops.com/search -vjson
若是想在請求的時候帶上Cookie,能夠這樣
curl -H "Cookie:username=XXX" {URL}服務器
二、開啓gzip請求
curl -I http://www.baidu.com/ -H Accept-Encoding:gzip,defaltecookie
三、監控網頁的響應時間
curl -o /dev/null -s -w "time_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n" "http://www.htcview.com"
time_connect: 0.015
time_starttransfer: 0.197
time_total: 0.245app
curl -o /dev/null -s -w "time_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n" "https://www.baidu.com"curl
4. 監控站點可用性
curl -o /dev/null -s -w %{http_code} "http://www.htcview.com"post
五、以http1.0協議請求(默認爲http1.1)
curl -o ..............網站
監控站點首頁下載時間:
curl -o /dev/null -s -w ‘%{time_total}’ http://www.htcview.com
curl -o /dev/null -s -w ‘%{http_code}’ http://www.htcview.com
curl -o /dev/null -s -w %{http_code}:%{time_connect}:%{time_starttransfer}:%{time_total} http://www.htcview.comurl
-s 靜默輸出;沒有-s的話就是下面的狀況,這是在腳本等狀況下不須要的信息。code
[jacky@jackyops ~]$ curl -o /dev/null -w ‘%{time_total}’ http://www.htcview.com
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 58276 0 58276 0 0 10130 0 --:--:-- 0:00:05 --:--:-- 13741
結果:‘5.753’
監控首頁各項時間指標:
curl -o /dev/null -s -w ‘%{time_connect}:%{time_starttransfer}:%{time_total}’ http://www.htcview.com
‘0.519:0.703:0.752’
時間指標解釋 :
time_connect 創建到服務器的 TCP 鏈接所用的時間
time_starttransfer 在發出請求以後,Web 服務器返回數據的第一個字節所用的時間
time_total 完成請求所用的時間
在 發出請求以後,Web 服務器處理請求並開始發回數據所用的時間是
(time_starttransfer)1.044 - (time_connect)0.244 = 0.8 秒
客戶機從服務器下載數據所用的時間是
(time_total)2.672 - (time_starttransfer)1.044 = 1.682 秒
指定特定主機IP地址訪問網站
curl -x 106.11.208.145:80 http://www.youku.com
6. curl用法大全
-x 指定訪問IP與端口號
curl -x 192.168.4.12:80 http://www.jackyops.com
-I 僅僅取文件的http頭部
curl -I -x 192.168.4.12:80 http://www.jackyops.com
用referer作的防盜鏈,就能夠使用-e來設置
curl -e 「http://www.images.org」 http:// www.jackyops.com -v -I
-H去構造你想要的http頭部
curl -H 「X-Forward-For:8.8.8.8″ http://www.jackyops.com -v -I
curl反饋時間,例如鏈接時間,下載時間等信息
curl -w %{time_connect}:%{time_starttransfer}:%{time_total} -s -o /dev/null
將一個文件保存到硬盤上,命名爲file.html
curl -o file.html http://www.jackyops.com/index.html
下載index.html文件, -O是大寫的字母
curl -O http://www.jackyops.com/index.html
curl提交用戶名和密碼
curl http://name:passwd@www.jackyops.com
curl -u name:passwd http://www.jackyops.com
-b "cookie" 此參數用來構造一個攜帶cookie的請求 前面講到了使用 -H 來發送 Cookie 的方法,這種方式是直接將 Cookie 字符串寫在命令中。若是使用 -b 來自定義 Cookie,命令以下: curl -b 「JSESSIONID=D0112A5063D938586B659EF8F939BE24」 http://www.jackyops.com 若是要從文件中讀取 Cookie,-H 就無能爲力了,此時能夠使用 -b 來達到這一目的: curl -b 「cookie-example」 http://www.jackyops.com 即 -b 後面既能夠是 Cookie 字符串,也能夠是保存了 Cookie 的文件名。