ruby - 如何在 Ruby Net::HTTP 中实现 cookie

标签 ruby http cookies net-library

那是我的代码。

现在我需要向主机发送一个 cookie,但我找不到解决方案。


def get_network_file(url=nil)
  begin
    http = Net::HTTP.new( @service_server, 80 )
    resp, data = http.get( url, { "Accept-Language" => @locale } )
    if resp.code.to_i != 200
      RAILS_DEFAULT_LOGGER.error "*** return code != 200. code = #{resp.code}"
      return ""
    end
    rescue Exception => exc
      RAILS_DEFAULT_LOGGER.error "*** message --> #{exc.message}"
      return ""
    end
    return data
  end
end

最佳答案

您通过与发送“Accept-Language” header 相同的散列来传递 cookie,例如:

resp, data = http.get( url, { 
     "Accept-Language" => @locale, 
     "Cookie" => "YOUR_COOKIE" 
} )

但很可能您需要先捕获 cookie。参见 this有关 cookie 处理的示例。

关于ruby - 如何在 Ruby Net::HTTP 中实现 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3408255/

相关文章:

ruby-on-rails - 在规范中使用 describe/it 优于 feature/scenario 的优势? (除了语法糖)

windows - 删除旧版本的 Ruby(在 Windows 上)

javascript - 结合 Bookmarklet 来创建 HTTP 和 HTTPS 之间的切换?

ruby-on-rails - Rails 的页面缓存与 HTTP 反向代理缓存

php - 我可以关闭 PHPSESSID 吗?为什么它会出现在我的 cookie 上?

android - removeExpiredCookie() 不起作用

ruby - 如何使Searchkick/Elasticsearch where子句不区分大小写?

ruby - 使用默认值拯救 DivisionByZero 在 ruby​​ 中返回 NaN?

javascript - Mailgun HTTP 错误代码 400 错误请求

java - Cookie 未被读取