如何在此卷曲请求中解释此标头?

时间:2016-02-22 08:24:45

标签: ruby http curl

我正在查看具有以下标题的curl请求。这是什么意思?

curl -H 'Authorization:token token="[SOME_VALUE]"' 'https://myurl.com'

此外,我正在尝试使用RestClient从ruby请求此URL。 https://github.com/rest-client/rest-client

通常在标题中它只是key:value,但这里似乎有所不同。

3 个答案:

答案 0 :(得分:2)

您要使用的API似乎正在采用HTTP Token authentication RFC

这份文件是草案,它从未变成官方标准,但有一些API正在使用它。

 GET /resource/1 HTTP/1.1
 Host: example.com
 Authorization: Token token="h480djs93hd8",
                      coverage="base",
                      timestamp="137131200",
                      nonce="dj83hs9s",
                      auth="djosJKDKJSD8743243/jdk33klY="

您可以使用header选项pass custom headers到RestClient。

api_token = "xyz"
RestClient.get "http://example.com/resource", { :Authorization => %Q{token token="#{api_token}"} }

我使用%Q来允许插值。如果你不清楚,你也可以使用像

这样的东西
api_token = "xyz"
RestClient.get "http://example.com/resource", { :Authorization => 'token token="%s"' % api_token }

答案 1 :(得分:1)

它与键值对相同​​。密钥为Authorization,值为token token="[SOME_VALUE]"。这应该像下面那样从here复制的ruby哈希。

{:Authorization => 'token token="[SOME_VALUE]"'}

答案 2 :(得分:0)

您可以在标头中使用一些其他信息,而不仅仅是key:value。例如: Accept: text/plain; q=0.5, text/html, text/x-dvi; q=0.8, text/x-c

Authorization:token token="[SOME_VALUE]"可与基于令牌的身份验证的API一起使用。

基于令牌的身份验证是指API客户端使用令牌标识符进行经过身份验证的HTTP请求。

您可以在此处详细了解此类身份验证:http://blog.codeschool.io/2014/02/03/token-based-authentication-rails/