Проверка Ruby openuri, если uri действителен

Я пытаюсь проверить, действителен ли uri (например, на самом деле имеет контент, а не проверяет, правильно ли он сформирован здесь), используя рубиновый код, и я могу открыть uri, используя open(uri). Но в моем случае uri — это ссылка на загружаемый файл, и я не хочу загружать весь файл только для того, чтобы убедиться, что там есть контент.

Есть ли другое решение для этого?


person Jeff Storey    schedule 13.08.2012    source источник


Ответы (1)


Попробуй это

require 'net/http'
u = URI.parse('http://www.example.com/')
status = Net::HTTP.start(u.host, u.port).head(u.request_uri).code
# status is HTTP status code

Вам нужно будет использовать спасение, чтобы поймать исключение в случае сбоя разрешения домена.

person Kulbir Saini    schedule 13.08.2012
comment
Спасибо, запрос головы, кажется, то, что я искал. - person Jeff Storey; 13.08.2012