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
Run Code Online (Sandbox Code Playgroud)
这将作为程序代码.我只想打一个服务器,没有关于订单的问题.我怎么能在红宝石中做到这一点.一种选择是使用线程.
这是使用线程的示例.
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
Run Code Online (Sandbox Code Playgroud)
更好的解决方案.. ??
PS: - 我想点击mixpanel,这就是为什么我只想进行http调用而不等待响应.