Crystal-lang httpget basic_auth

Я пишу некоторый код на Ruby... Но я не могу понять, как базовая аутентификация работает с Crystal-lang.

В ruby ​​мне всегда приходилось использовать request.basic_auth, но это, вероятно, не работает в Crystal lang.
Что я делаю рубин? Может ли кто-нибудь написать эту строку request.basic_auth в Crystal-lang?

    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]
            ^~~~~~~~~~

2 ответа

Решение

Вам нужно сделать:

require "http/client"

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

Вы настраиваете клиента с базовой аутентификацией, а не запросом или ответом.

Он должен работать так же, как рубин. Вы получаете какие-либо ошибки при запуске?

Вот ссылка на первоисточник функции для уточнения

Используя новую функцию вместо get.

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
Другие вопросы по тегам