推薦使用curl
Http請求指的是客戶端向服務器的請求消息,Http請求主要分為get或post兩種,在Linux系統下可以用curl和wget命令來模擬Http的請求。下面就來介紹一下Linux系統如何模擬Http的get或post請求。
一、get請求:
1、使用curl命令:
curl “http://www.baidu.com” 如果這里的URL指向的是一個文件或者一幅圖都可以直接下載到本地
curl -i “http://www.baidu.com” 顯示全部信息
curl -l “http://www.baidu.com” 只顯示頭部信息
curl -v “http://www.baidu.com” 顯示get請求全過程解析
2、使用wget命令:
wget “http://www.baidu.com”也可以
二、post請求
1、使用curl命令(通過-d參數,把訪問參數放在里面):
curl -d “param1=value1¶m2=value2” “http://www.baidu.com”
2、使用wget命令:(--post-data參數來實現)
wget --post-data ‘user=foo&password=bar’ http://www.baidu.com
以上就是Linux模擬Http的get或post請求的方法了,這樣一來Linux系統也能向遠程服務器發送消息了。
使用curl命令可以輕松發起一個HTTP請求:
# 使用GET凡是請求網址 curl http://www.baidu.com
可以使用-X選項指定請求方式
攜帶參數的POST請求
下面演示一個帶頭部和參數的POST請求
curl -X POST \
'http://uusama.com/?r=SnapchatApi%2FdoCurlQuery' \
-H 'cache-control: no-cache' \ -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \ -F name=uusama \ -F like=fruit
該請求方式相當於在頁面提交一個表單,其中:
-X POST 指定請求凡是為POST請求
-H 指定請求頭部
-F 指定請求參數
curl命令測試請求耗時
在curl命令中,有以下幾個變量反應請求時間:
time_namelookup:DNS解析域名時間,把域名—>ipd的時間
time_connect:TCP連接的時間,三次握手的時間
time_appconnect:SSL|SSH等上層連接建立的時間
time_pretransfer:從請求開始到到響應開始傳輸的時間
time_redirect:從開始到最后一個請求事務的時間
time_starttransfer:從請求開始到第一個字節將要傳輸的時間
time_total:總時間
示例:
curl -o /dev/null -s -w time_namelookup:"\t"%{time_namelookup}"\n"time_connect:"\t\t"%{time_connect}"\n"time_appconnect:"\t"%{time_appconnect}"\n"time_pretransfer:"\t"%{time_pretransfer}"\n"time_starttransfer:"\t"%{time_starttransfer}"\n"time_total:"\t\t"%{time_total}"\n"time_redirect:"\t\t"%{time_redirect}"\n" http://www.baidu.com time_namelookup: 5.520 time_connect: 5.543 time_appconnect: 0.000 time_pretransfer: 5.543 time_starttransfer: 5.566 time_total: 5.566 time_redirect: 0.000
其中各選項的含義如下:
-w:將請求結果輸入到文件而不是標准輸出
-o:請求完成后使用自定義格式輸出
-s:靜默模式(不要輸出任何東西)
