2016-08-19 30 views
1

我正在Ruby中編寫一些代碼......但我無法弄清楚基本身份驗證如何與Crystal-lang一起工作。Crystal-lang httpget basic_auth

在ruby中,我不得不總是使用request.basic_auth,但這可能不適用於Crystal lang。
我在做什麼紅寶石?有人可以在Crystal-lang中寫入那行request.basic_auth嗎?

request = HTTP::Client.get "http://127.0.0.1:#{ports[coinName]}/" 
    request.basic_auth username([coinName], password[coinName]) 
    json = JSON.parse(request.body 

錯誤

in ./src/coinHashRate.cr:29: undefined method 'basic_auth' for HTTP::Client::Response 

    request.basic_auth username[coinName], password[coinName] 
      ^~~~~~~~~~ 

回答

7

你需要做的:

require "http/client" 

client = HTTP::Client.new "127.0.0.1", ports[coinName] 
client.basic_auth(username[coinName], password[coinName]) 
client.get "/" 

您配置客戶端與基本身份驗證,而不是請求或響應。

0

它應該工作一樣紅寶石。你運行它時是否有錯誤?

Here is a link to the original source of the function for clarification

使用新的功能,而不是獲取的。

request = HTTP::Client.new "http://127.0.0.1/", ports[coinName] 
request.basic_auth username[coinName], password[coinName] 
response = request.get "/" 
json = JSON.parse response.body 
+0

是的。更新我的問題。查看錯誤日誌 – Romano

+0

檢查更新後的代碼是否有效? –

+0

只需跟進,您是否可以爲未來用戶選擇一個答案,並回答此問題? –