Net::HTTP 头部请求失败

Net::HTTP failing on a head request

我正在尝试使用 Net::HTTP 发出 HTTP 头请求。

require 'net/http'

uri = URI("https://github.com/rails/rails")
http = Net::HTTP.new(uri.host, uri.port)
request = http.head(uri)

puts request

失败。

AFAICT,这是因为 Net::HTTP 正在等待一个永远不会到来的响应主体。如何让 Net::HTTP 发出请求而不是等待响应正文?

如果您正确地遵循 documentation,它工作得很好。库实现在确定是否读取有效负载时可能对用法有一些假设。

response = nil
Net::HTTP.start('github.com', :use_ssl => true) do |http|
  response = http.head('/rails/rails')
end

response.each { |k, v| [k, v] }