1. 程式人生 > 其它 >spring5入門(十二):Aspect註解使用、配置檔案使用

spring5入門(十二):Aspect註解使用、配置檔案使用

一、簡介

 curl是一個命令列訪問URL的工具,支援檔案的上傳和下載,作用是發出網路請求,然後得到和提取資料,顯示在"標準輸出"(stdout)上面。可以用它構造http request報文,且可以解析伺服器返回的http response,額外還支援cookie特性,可以用curl完成web瀏覽器的

 基本功能,curl還支援HTTPS/FTP/FTPS/TELNET/LDAP等協議。

 

 二、引數

引數 說明
不加引數
正常訪問,返回html資訊(get請求方式)
-I
只顯示http response 的頭資訊
-i
輸出時包括protocol頭資訊
-v
輸出通訊的整個過程,多用於除錯
--tarce
也可用於除錯,還會輸出原始的二進位制資料
-L
會讓http請求跟隨服務的重定向(curl 預設不跟隨重定向)
-s
靜默模式,不輸出錯誤跟進度資訊
-S
只輸出錯誤資訊,通常與-s一起使用
-o
將伺服器的迴應儲存成檔案到當前目錄下,可加路徑儲存(相當於wget命令)
-O  
將伺服器迴應儲存成檔案,並將 URL 的最後部分當作檔名儲存當前目錄(加http/https,url要精確到某個檔案)
-w  
用於在一次完整且成功的操作後輸出指定格式的內容到標準輸出,後接變數(後文列出變數)
示例  
curl -o /dev/null -s -w %{http_code} www.nginx.com
直接獲取 HTTP 狀態碼(可用於指令碼判斷網站是否正常)
   
-d

用於傳送 POST 請求的資料體(即傳送資料)

curl -d'login=emma&password=123'-X POST https://google.com/

使用-d引數以後,HTTP 請求會自動加上標頭Content-Type : application/x-www-form-urlencoded

 

 

-d引數可以讀取本地文字檔案的資料,向伺服器傳送

curl -d '@test.txt' https://google.com/

上面命令讀取test.txt檔案的內容,作為資料體向伺服器傳送

--data-urlencode

等同於 -d 傳送 POST 請求的資料體,區別在於會自動將傳送的資料進行 URL 編碼

curl --data-urlencode 'comment=hello world' https://google.com/

 

 -u

設定伺服器認證的使用者名稱和密碼

curl -u 'test:123456' https://www.baidu.com/

 

 

引數
說明
示例
-x
指定proxy伺服器以及其埠,不支援https
curl -x 127.0.0.1:8080 http://www.baidu.com
--resolve
指定域名解析的ip,支援https,支援萬用字元*
curl https://www.nginx.com --resolve 148.23.23.*:443
-X
指定HTTP請求的方法
 
curl -X POST https://www.baidu.com
-A
指定User-Agent
 
curl -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36" https://www.baidu.com
-H
指定請求頭
 
curl -H "" https://www.baidu.com
-k 允許curl使用非安全的ssl連線並且傳輸資料(證書不受信)  
-G 構造URL的查詢字串,如省略,會發送post請求 curl -G -d 'a=test' -d 'count=20' https://nginx.com/search 相當於訪問:https://nginx.com/search?a=test&count=20

 

三、-w引數變數

引數 說明
url_effective
最終獲取的url地址,尤其是當你指定給curl的地址存在301跳轉,且通過-L繼續追蹤的情形
http_code
http狀態碼
time_total
總時間,按秒計。精確到小數點後三位
time_namelookup
DNS解析時間,從請求開始到DNS解析完畢所用時間
time_connect
連線時間,從開始到建立TCP連線完成所用時間,包括前邊DNS解析時間,如果需要單純的得到連線時間,用這個time_connect時間減去前邊time_namelookup時間
time_appconnect
連線建立完成時間,如SSL/SSH等建立連線或者完成三次握手時間
 
time_pretransfer
 
從開始到準備傳輸的時間
 
time_redirect
 
重定向時間,包括到最後一次傳輸前的幾次重定向的DNS解析,連線,預傳輸,傳輸時間
 
time_starttransfer
 
開始傳輸時間。在發出請求之後,Web 伺服器返回資料的第一個位元組所用的時間
   
size_download
下載大小
size_upload
上傳大小
size_request
請求的大小
speed_download
下載速度,單位-位元組每秒
speed_upload
上傳速度,單位-位元組每秒
num_connects
最近的的一次傳輸中建立的連線數目
num_redirects
 
在請求中跳轉的次數
ftp_entry_path
 
當連線到遠端的ftp伺服器時的初始路徑
 
ssl_verify_result
 
ssl認證結果,返回0表示認證成功

 

 四、

#測試網路
curl -Lo /dev/null -skw "time_connect: %{time_connect} s\ntime_namelookup: %{time_namelookup} s\ntime_pretransfer: %{time_pretransfer} s\ntime_starttransfer: %{time_starttransfer} s\ntime_redirect: %{time_redirect} s\nspeed_download: %{speed_download} B/s\ntime_total: %{time_total} s\n\n"  http://url -d "{1:1}"