1

到目前为止,这就是我想出的。

RestClient.proxy = ENV("http_proxy")
RestClient.head("Cookie","accessToken=#{@GottenTokenString}") #this line not working
resp = RestClient.get("http://someServer/path/RestAPIPage.json",{:params => {:count => @count, :userCount => @userCount}})

我在这里遇到的问题是我似乎无法向 get 请求添加任何标头。我正在调用的 API 要求获取令牌并将其设置为 cookie 标头。似乎 REST API 无法处理这个问题。

我决定使用 RESTCLIENT gem 的原因是 NET::HTTP.get 不允许使用允许添加查询的方法。总而言之,我无法使用 RESTCLIENT 添加标题。但我无法使用 NET::HTTP 添加查询。

我真的很难过。

4

2 回答 2

1

老问题,但添加我的 .02 以供参考,因为我刚刚经历了同样的挣扎......

就我而言,我想在 GET 请求的标头中传递一个令牌,并添加参数。诀窍是像参数一样包含标头,但不将其包含在参数哈希中。"Authorization" => "Bearer #{token}" 是我示例中的标题信息。

require 'json'
require 'rest-client'

JSON.load(RestClient.get("http://yourUrlGoesHere.com", {"Authorization" => "Bearer #{token}", :params => {:foo => 'bar'}}))
于 2014-08-13T03:30:14.497 回答
1

在类似的情况下,我选择了:

session = RestClient::Resource.new "url"
response = session.post("", :Cookie => @cookie_variable)

或者为了得到它是直的:

RestClient.get(url, :Cookie => @cookie_variable)

我从来没有让head语法工作。

于 2012-03-04T20:56:14.840 回答