Rest-Client Ruby Gem:使用Headers,Query和设置代理帮助创建get请求

时间:2012-02-27 00:19:27

标签: ruby httprequest rest-client

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

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添加查询。

我真的很难过。

2 个答案:

答案 0 :(得分:1)

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

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

或者直接得到它:

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

我从来没有让head语法起作用。

答案 1 :(得分:1)

老问题,但是添加我的.02作为参考,因为我只是努力通过相同的...

在我的情况下,我想在GET请求的标头中传递一个标记,并且还添加了params。诀窍是将标题包含在param中,但不包括在params散列中。 "授权" => " Bearer#{token}"是我的示例中的标题信息。

require 'json'
require 'rest-client'

JSON.load(RestClient.get("http://yourUrlGoesHere.com", {"Authorization" => "Bearer #{token}", :params => {:foo => 'bar'}}))