在工作中會經常使用的 curl 進行介面測試這裡記錄一下測試的命令.
在 windows & linux 系統下傳送json資料時要注意(windows 下):
# 修改前
# 修改後:
# 修改前
# 修改後
注意在 bash 中,如果請求的 json字串是用單引號括起來的話,字串中的雙引號不需要進行轉義,但如果請求的 json 字串是用雙引號括起來的話,字串中的雙引號就需要轉義了.幾個感覺比較有用的選項:
-l, --location follow redirects (h)使用@符號可以從檔案中讀取資料作為引數.如下:
echo '
}' >json.txt
在輸入資料為json格式的時候直接使用-d
選項傳參 curl 會預設對資料進行壓縮後傳遞,但如果將--data
選項修改為--data-binary
時,便可以完整的將文字的內容進行傳輸了
選項功能
--basic
使用http基本驗證
-b/--use-ascii
使用ascii文字傳輸
-d/--data
http post方式傳送資料
--data-ascii
以ascii的方式post資料
--data-binary
以二進位制的方式post資料
--connect-timeout
設定最大請求時間
測試指令碼
#!/bin/bash
cat> json.txt <<
eofeof
#echo '' >json.txt
wc -c json.txt
# --data 選項請求的資料長度與檔案長度不一致,有可能是 curl 命令對請求內容進行了壓縮,在某些情況下可能會導致異常
&1 |
grep
"> content-length:"
|xargs
echo
"length used by option \"--data\":"
# --data-binary 選項請求時傳送的資料長度是和檔案的資料長度(wc -c json.txt)得到的結果是一致的
&1 |
grep
"> content-length:"
|xargs
echo
"length used by option \"--data-binary\":"
# --data 選項請求的資料長度與檔案長度不一致,有可能是 curl 命令對請求內容進行了壓縮,在某些情況下可能會導致異常
&1 |
grep
"> content-length:"
|xargs
echo
"length used by option \"--data-ascii\":"
# --data-raw 選項不會從檔案中讀取資料,而是直接將 '@json.txt' 字串作為資料輸入,所以長度為9
&1 |
grep
"> content-length:"
|xargs
echo
"length used by option \"--data-raw\":"
# curl 的追蹤資訊會輸出到錯誤輸出2中需要使用 2>&1 統一輸出到標準輸出中以方便除錯
% total % received % 統計資訊的關閉方式
新增選項 -s
curl -s --url http://localhost:8080/sync
bash 下傳送 post 請求指令碼示例:
示例1:
curl -v --url "$host示例2:
curl -v --url "$host示例3:
curl -v --url "$host示例4
''示例5
curl使用筆記
curl 顯示返回的頭資訊 i head show document info only 如果遇到了乙個多次跳轉的url,可以先用curl的 l 引數看看,這個url最終跳轉到了什麼地方 l location follow location hints h location trusted foll...
Vim 使用筆記
set hlsearch set nohlsearch 搜尋後清除上次的加亮 nohl nohlsearch 拷貝 很有用的一句話,規定了格式選項,讓它換行不自動空格 set formatoptions tcrqn set fo r set noautoindent 再 shift insert 正...
xemacs使用筆記
xemacs使用筆記 xemacs emacs的下一代,由lucid原創 from debian參考手冊.由於不知道什麼時候刪掉了emacs的乙個重要檔案.每次都沒法安裝好.突然發現了xemacs,於是決定使用看看.本人還是菜鳥,僅供交流 我使用的ubuntu系統,所以就直接apt get inst...