curl 使用筆記

2021-09-13 21:26:36 字數 3936 閱讀 6559

在工作中會經常使用的 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/--datahttp 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...