2017年11月16日 星期四

siege測試basic authorization

要進行使用basic authorization的測試時
Header需要加上
authorization: 'Basic Token'

Token為一包含username跟password中間用冒號分隔的base64編碼字串
EX (js):
let user = 'username'
let pwd = 'password'
let token = new Buffer(user+":"+pwd).toString('base64')

siege -c10 -r10 -H "Authorization:Basic dXNlcm5hbWU6cGFzc3dvcmQ=" http://localhost

  • -c : concurrent users,模擬使用者的數量
  • -r : 每個concurrent user發出的request的數量
  • -H : header的內容
  • 一個以上的headers,重複加上 -H  ex:   -H "key1:value1"  -H "key2:value2"

在mac底下安裝siege時碰到的問題

下載siege
http://download.joedog.org/siege/siege-latest.tar.gz

siege如果需要支援https的測試
需要安裝zlib跟openssl

在mac使用homebrew安裝這兩項

brew update
brew install zlib
brew install openssl

但是在執行siegn的configure時
發現依然找不到zlib跟openssl

首先確認zlib跟openssl安裝的目錄
這兩項分別是安裝在
/usr/local/opt/zlib
/usr/local/opt/openssl

開啟configure後,發現configure搜尋的目錄裡面並沒有包含這兩個路徑
於是分別在19808行
for dir in /usr /usr/local /usr/local/ssl /usr/pkg /usr/lib/ssl /usr/include/ssl /usr/include; do
加上/usr/local/opt/openssl
跟19958行
for dir in /usr /usr/local /usr/local/ssl /usr/pkg /usr/lib/zlib /usr/include/zlib /usr/include; do
加上/usr/local/opt/zlib

接著
./configure
make
make install

完成後測試
siege https://www.google.com
就有成功送出https的request了