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
這將作爲程序代碼工作..我只想打一臺服務器,沒有關於訂單的問題。我怎麼能做到這一點在紅寶石。一種選擇是使用線程。ruby中的異步http請求
下面是一個使用線程的例子。
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
任何更好的解決方案.. ??
PS: - 我想打mixpanel,所以這就是爲什麼我只想做一個http調用,不要等待響應。
只是想知道:你在Ruby或Rails的編碼? – apneadiving
鐵軌,問題標記爲鐵軌3 :) –
好的,不確定。無論如何,它不會改變我的答案:) – apneadiving