called twiceが解決

NGなソース

ーーーーーーー

url = URI.parse('http://www.sample.com/')
req = Net::HTTP::Get.new(url.path)
res = Net::HTTP.start(url.host, url.port) {|http|
  http.request(req)
}

res.read_body do |segment|
  print segment
end

ーーーーーーー

 

OKなソース

ーーーーーーー

url = URI.parse('http://www.asahi.com/')
http = Net::HTTP.new(url.host)

http.request_get(url.path) {|res|
  res.read_body do |segment|
    print segment
  end
}

ーーーーーーー

駄目なソースで、http.request()をした時点でbodyを読むcallをしてい

たのかなという想像。その後に、read_bodyで再度callしているので、

called twiceといわれて、ioerrorみたいですね。。。

どこかちゃんとドキュメントを読むと、記述されてるのかな。