休息客户端Ruby中的Cookie

时间:2013-07-25 06:27:39

标签: ruby rest-client

是否可以添加像

这样的cookie
key[index]=value

这是我的代码

options[:headers][:cookies] = {:cookie_key => 'cookie_value'}
resource[options[:path]].get(options[:headers])

此代码工作正常,但是当我尝试类似

options[:headers][:cookies] = {:cookie_key => {} }

我得到/../../util.rb:16:in 'unescape': undefined method 'tr' for #<Hash:0x0000000195f7d0> (NoMethodError)

1 个答案:

答案 0 :(得分:0)

Cookies基本上只能store个字符串(对于每个第一级密钥)。

为了在cookie值中存储哈希值,您需要序列化/反序列化数据,例如with JSON

cookies[:i_need_to_store_hash] = hsh.to_json

而不是

i_need_to_get_my_hash_back = JSON.parse(cookies[:i_need_to_store_hash])

但请记住,cookie的大小非常有限(4096字节)