【发布时间】:2011-10-13 11:12:09
【问题描述】:
我有两个 Rails 应用程序 App1 和 App2 都在不同的 URL 上但在同一台机器上运行。 App1 使用来自 App2 的 Net::HTTP 获取一些数据。当 App1 发出请求时,我需要做的是在 App2 中设置 cookie。目前,它没有设置cookie。向 App2 发送请求时,是否需要在 App1 中添加一些标头?
这里是获取内容的代码:
def get_content(url)
uri = URI.parse(url)
params = Hash[*uri.query.split("&").map {|part| part.split("=") }.flatten]
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new(uri.path)
request.set_form_data( params )
request = Net::HTTP::Get.new( uri.path+ '?' + request.body )
if uri.scheme == "https" # enable SSL/TLS
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
end
http.start do
http.request(request) do|res|
return res.body
end
end
end
请指教。
【问题讨论】:
-
我认为,可能是错误的,由于您正在执行直接 http 请求,因此您必须自己管理标头中的 cookie。
-
好的,但是我自己怎么做呢?任何例子将不胜感激。谢谢。
标签: ruby-on-rails cookies cross-domain