Я не проверял, возможно ли это сделать с Net :: HTTP, но вы можете использовать Curb, который является оболочкой Ruby для curl.Посмотрите на Curl::Easy#http_head
С Net :: HTTP вы также можете использовать HTTP#head
, который запрашивает заголовки с сервера, используя метод HEAD.
Информация о методе HTTP HEAD:
9.4 HEAD
Метод HEAD идентичен GET, за исключением того, что сервер НЕ ДОЛЖЕН возвращать тело сообщения в ответе.Метаинформация, содержащаяся в заголовках HTTP в ответ на запрос HEAD, ДОЛЖНА быть идентична информации, отправленной в ответ на запрос GET.Этот метод может использоваться для получения метаинформации о сущности, подразумеваемой запросом, без передачи самого тела сущности.Этот метод часто используется для проверки гипертекстовых ссылок на достоверность, доступность и последние изменения.
Чтобы получить код ответа страницы:
require 'net/http'
response = nil
Net::HTTP.start('www.example.com', 80) {|http|
response = http.head('/page.html')
}
puts response.code