1
http = Net::HTTP.new("hostname", 80)
http.open_timeout = 300
http.read_timeout = 300
pagereq = lambda {
http.request(Net::HTTP::Get.new(page, {"User-Agent" => "Mozilla/5.0"})).body }
some_conditions.to_a.each do |n|
page = "startpage"+n.to_s
pagereq.call.scan(/criteria1/).each do |m|
page = "/"+m.to_s
puts pagereq.call.scan(/criteria2/)
end
end
Я использую этот шаблон, чтобы собирать ссылки или что-то еще с сайтов. Он создает DNS-разрешение для каждого соединения, и это плохо.ruby multiple connections and dns queries
В чем я заинтересован. Разрешить имя хоста один раз, установить соединение, выполнить все операции, закрыть соединение.
Спасибо, я попробую эту библиотеку. Но по-прежнему интерес - оптимизировать «чистую» сеть :: HTTP. – Jeff