Ruby on rails 发出http请求时出错。超时::错误和IOError:use_ssl值已更改,但会话已启动
我有一个奇怪的问题,我觉得这只是一个小小的明显错误 当我做出以下实施时Ruby on rails 发出http请求时出错。超时::错误和IOError:use_ssl值已更改,但会话已启动,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有一个奇怪的问题,我觉得这只是一个小小的明显错误 当我做出以下实施时 url = URI.parse(helper.full_url) req = Net::HTTP::Get.new(url.to_s) res = Net::HTTP.start(url.host, url.port) { |http| http.request(req) } 给我下面有错误 超时::错误 但这一实施过程中存在的问题 url = URI.parse(helper.full_url) req = Net:
url = URI.parse(helper.full_url)
req = Net::HTTP::Get.new(url.to_s)
res = Net::HTTP.start(url.host, url.port) { |http|
http.request(req)
}
给我下面有错误
超时::错误
但这一实施过程中存在的问题
url = URI.parse(helper.full_url)
req = Net::HTTP::Get.new(url.to_s)
res = Net::HTTP.start(url.host, url.port) { |http|
http.use_ssl = true
http.request(req)
}
给我这个错误
IOError:use\u ssl值已更改,但会话已启动
有什么问题吗?您不能在Net::http.start之后使用http.use\u ssl,您应该在Net::http.start之前使用它。看 试试这个:
uri = URI.parse(helper.full_url)
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true if uri.scheme == 'https'
http.start do
request = Net::HTTP::Get.new(uri.request_uri)
puts http.request(request)
end
我希望像我放在这里一样使用结果
res=Net::HTTP.start(url.host,url.port){| HTTP | HTTP.use_ssl=true HTTP.request(req)}
uri = URI.parse(helper.full_url)
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true if uri.scheme == 'https'
http.start do
request = Net::HTTP::Get.new(uri.request_uri)
puts http.request(request)
end