curl是linux的常用命令之一,用來請求web服務器,即client + URL
常用API:
- 向URL發(fā)送get請求,返回響應數(shù)據(jù)
$ curl URL
- -A
-A 參數(shù)指定客戶端的用戶代理標頭,即User-Agent - b
-b 參數(shù)用來向服務器發(fā)送Cookie
$ curl -b 'foo=bar' https://baidu.com
- -d
-d參數(shù)用于發(fā)送POST請求的數(shù)據(jù)體 - -e
-e參數(shù)用來設置http的請求頭 Referer,表示請求的來源 - -v
-v 參數(shù)輸出通信的整個過程,用于調(diào)試
$ curl -v https://baidu.com - --trace參數(shù)也可以用于調(diào)試,還會輸出原始的二進制數(shù)據(jù)
$ curl --trace - https://baidu.com
測試dns解析時間及tcp連接時間
curl -o /dev/null -s -w ${time_namelookup}"\n"%{time_connect}"\n"%{time_appconnect}"\n"%{time_pretransfer}"\n"%{time_starttransfer}"\n"%{time_total}"\n"%{time_redirect} URL
參數(shù)解析:
-o /dev/null 表示輸出結果到/dev/null
-s 表示去除狀態(tài)信息
-w 表示列出后面的參數(shù)的結果
- time_namelookup 0.004s dns解析時間,從開始到dns解析完畢的所用時間
- time_connect 0.010s 建立到服務器的tcp所用時間
- time_appconnect 0.068s 連接
- time_pretransfer 0.068s 預發(fā)
- time_starttransfer 0.075s 發(fā)出請求后,服務器返回數(shù)據(jù)的第一個字節(jié)所用時間
- time_total 0.075
- time_redirect 0.000