如何在Ruby中正确关闭HTTP连接

yey*_*eyo 3 ruby http

我一直在寻找一种正确的方法来关闭HTTP连接,但还没有找到任何东西.

require 'net/http'
require 'uri'

uri = URI.parse("http://www.google.com")

http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new("/")


http.start
resp = http.request request

p resp.body
Run Code Online (Sandbox Code Playgroud)

到目前为止一直很好,但是现在当我尝试关闭连接时猜测使用哪种方法:

http.shutdown   # error
http.close      # error
Run Code Online (Sandbox Code Playgroud)

当我检查时ri Net::HTTP.start,文档明确说

调用者负责在完成时关闭它(连接)

我不想使用块形式.

Ren*_*non 7

关闭连接的方法是http.finish.

net/httpAPI是特别混乱使用.通常更容易使用更高级别的库,例如HTTPartyREST Client,它将提供更直观的API并为您处理较低级别的详细信息.