如何在Ruby中发送带有身份验证的API请求

时间:2019-03-13 13:25:20

标签: ruby-on-rails ruby api rest-client airborne

我有这个curl命令来发送带有身份验证的api请求。我正在使用机载编写测试,我需要在测试内部发送api请求。 curl命令

curl https://example.com/api/v2/tests.json \
  -v -u test@email.com:Abcd1234

我有如下测试,但是我需要添加身份验证。我该怎么办?

describe 'Test to GET' do
  it 'should get the existing data'do
  get "https://example.com/api/v2/tests.json","test@email.com":"Abcd1234"
  expect_status(200)
  end
end

1 个答案:

答案 0 :(得分:3)

-u选项将基本身份验证标头发送到客户端。

机载README的最上方显示了如何发送身份验证标头:

describe 'Test to GET' do
  it 'should get the existing data' do
    get "https://example.com/api/v2/tests.json",
        { 'x-auth-token' => 'my_token' }
    expect_status(200)
  end
end

如何从userpassword对中取出令牌我将作为家庭作业留给您(例如,您可能只记录了curl请求。)

您还可以通过Airborne config全局设置auth标头。