2016-08-19 7 views
1

私はRubyでいくつかのコードを書いています...しかし、私は基本的な認証がどのようにCrystal-langで動作するかを理解できません。Crystal-lang httpget basic_auth

ルビーでは常に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

フォローアップするだけで、この質問で将来のユーザーのための回答を選択できるでしょうか? –

関連する問題