为open-uri设置多个cookie

时间:2017-05-29 18:46:17

标签: ruby cookies open-uri

我想弄清楚如何使用['set-cookie']向网页请求添加多个Cookie。如果我有一个数组中的cookie:

cookie1 = {'domain': 'Website', 'name': 'xyz', 'value': 'ASH', 'path': '/', 'httpOnly': False, 'secure': False}

cookie2 = {'domain': 'Website', 'name': 'xyz', 'value': 'ASH', 'path': '/', 'httpOnly': False, 'secure': False}


page = Nokogiri::HTML(open("a webpage"), "User-Agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36", "Cookie" => cookie1['set-cookie'] cookie2['set-cookie']) 

我一直在努力寻找有关如何将其整合到open-uri中的任何文档。

1 个答案:

答案 0 :(得分:0)

您可以使用分号加入cookie:

cookies = cookie1,cookie2].map{|c| c.map{|k,v| "#{k}=#{v}"}.join('; ')}.join('; ')
open(..., "Cookie" => cookies)