一個很有趣的 trick
如果我要傳 Basic Auth 給 server 的話,需要把 user/password 加到 authorization 上。
以 postman 來說是這樣
但在這個情況下不要直接用 RestClient.get
post/ put
# 這樣做是「無效」的:
RestClient.get url, user: 'username', password: 'secret'
請使用 RestClient::Request.execute
# 這樣可以 auth:
RestClient::Request.execute method: :get, url: url, user: 'username', password: 'secret'
有趣的地方在於,如果你用短的 RestClient.get
,去看原始碼會發現,你後面傳的參數都被當 header
送出了
所以當這個 auth 驗證不是走 header 時,請用 RestClient::Request.execute
來做。