在 ruby 中将 curl 转换为 httparty 请求



我可以成功运行以下 curl 命令:

curl my_interesting-api.herokuapp.com/ -H "Authorization: Token token=6bb4f31b5de728xxxxx360b3896"

我正在尝试将其转换为红宝石脚本,如下所示:

require 'httparty'
url = 'my_interesting-api.herokuapp.com/'
response = HTTParty.get(url, 
headers: {
"Authorization: Token token" => "6bb4f31b5de728xxxxx360b3896"
}
)
puts response.inspect

我在控制台中收到以下响应,并运行此脚本:

#<HTTParty::Response:0x7f881d04cc28 parsed_response="HTTP Token: Access denied.n", @response=#<Net::HTTPUnauthorized 401 Unauthorized readbody=true>, @headers={"server"=>["Cowboy"], "date"=>["Thu, 10 May 2018 17:24:50 GMT"], "connection"=>["close"], "www-authenticate"=>["Token realm="Application""], "content-type"=>["text/plain; charset=utf-8"], "cache-control"=>["no-cache"], "x-request-id"=>["1fd7115d-497d-439d-af4f-49cb3d28b61f"], "x-runtime"=>["0.002321"], "transfer-encoding"=>["chunked"], "via"=>["1.1 vegur"]}>

还尝试过:

headers: {
"Authorization" => "6bb4f31b5de728xxxxx360b3896"
}

。我得到同样的错误。

想通了。用标题和引号玩音乐椅,直到我想通为止。

require 'httparty'
url = 'my_interesting-api.herokuapp.com/'
response = HTTParty.get(url,
:headers => { "Authorization" => 'Token token="6bb4f31b5de728xxxxx360b3896"'})
puts response.inspect

最新更新