Используя Ruby, каков наиболее эффективный способ получения типа содержимого данного URL? - PullRequest
4 голосов
/ 19 июня 2011

Какой самый эффективный способ получить тип контента для заданного URL-адреса с использованием Ruby?

Ответы [ 2 ]

13 голосов
/ 19 июня 2011

Это то, что я бы сделал, если мне нужен простой код:

require 'open-uri'
str = open('http://example.com')
str.content_type #=> "text/html"

Большим преимуществом является то, что он следует за перенаправлениями.

Если вы проверяете несколько URL-адресов, возможно, вы захотите позвонить на ручки close после того, как найдете то, что хотите.

3 голосов
/ 19 июня 2011

Взгляните на библиотеку Net :: HTTP .

require 'net/http'

response = nil
uri, path = 'google.com', '/'
Net::HTTP.start(uri, 80) { |http| response = http.head(path) }
p response['content-type']
...