Подтвердить что ты не робот

Как выполнить базовую аутентификацию с помощью RestClient?

Кто-нибудь знает, как выполнить базовую аутентификацию с помощью RestClient?

Мне нужно создать приватный репозиторий на GitHub через их API RESTful.

4b9b3361

Ответ 1

Из источника похоже, что вы можете просто указать пользователя и пароль как часть вашего объекта запроса.

Вы пробовали что-то вроде:

r = Request.new({:user => "username", :password => "password"})

Также, если вы посмотрите вниз в разделе Shell ReadMe, у него есть пример указания его как части restshell.

$ restclient https://example.com user pass
>> delete '/private/resource'

Ответ 2

Самый простой способ - вставить данные в URL-адрес:

RestClient.get "http://username:[email protected]"

Ответ 3

Вот пример рабочего кода, где я поддерживаю факультативный basicauth, но не требую, чтобы пользователь и пароль были встроены в URL-адрес:

def get_collection(path)
  response = RestClient::Request.new(
    :method => :get,
    :url => "#{@my_url}/#{path}",
    :user => @my_user,
    :password => @my_pass,
    :headers => { :accept => :json, :content_type => :json }
  ).execute
  results = JSON.parse(response.to_str)
end

Обратите внимание, что если @my_user и @mypass не создаются, он отлично работает без basicauth.