require 'net/http'
urls = [
{'link' => 'http://www.google.com/'},
{'link' => 'http://www.facebook.com/'},
{'link' => 'http://www.yahoo.com/'}
]
urls.each do |u|
u['content'] = Net::HTTP.get(URI.parse(u['link']))
end
print urls
Esto funcionará como código de procedimiento. Solo quiero conectarme a un servidor, no hay problemas con el pedido. ¿Cómo puedo hacer eso en ruby? Una opción es usar hilos.solicitud HTTP asíncrona en ruby
Aquí hay un ejemplo con hilos.
require 'net/http'
urls = [
{'link' => 'http://www.google.com/'},
{'link' => 'http://www.facebook.com/'},
{'link' => 'http://www.yahoo.com/'}
]
urls.each do |u|
Thread.new do
u['content'] = Net::HTTP.get(URI.parse(u['link']))
puts "Successfully requested #{u['link']}"
if urls.all? {|u| u.has_key?("content") }
puts "Fetched all urls!"
exit
end
end
end
Cualquier solución mejor .. ??
PD: - Quiero presionar Mixpanel, así que es por eso que solo quiero hacer una llamada http y no esperar la respuesta.
Sólo me preguntaba: ¿estás codificando en Ruby o Rails? – apneadiving
rieles, la pregunta está etiquetada con rieles 3 :) –
bien, no estaba seguro. Lo que sea, no cambia mi respuesta :) – apneadiving