web-dev-qa-db-ja.com

RestClientで基本認証を行うにはどうすればよいですか?

RestClient で基本認証を行う方法を知っている人はいますか?

RESTful APIを使用してGitHubにプライベートリポジトリを作成する必要があります。

33

source から、リクエストオブジェクトの一部としてユーザーとパスワードを指定できるように見えます。

次のようなことを試しましたか:

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

ReadMe のShellセクションを見下ろすと、restshellの一部として指定する例があります。

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

最も簡単な方法は、URLに詳細を埋め込むことです。

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

これは、オプションの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なしで正常に動作します。

31
bgupta