18.2.8. Получение Web-страницы с известным URL

18.2.8. Получение Web-страницы с известным URL

Пусть нам нужно получить HTML-документ из Web. Возможно, вы хотите проверить контрольную сумму и узнать, не изменился ли документ, чтобы послать автоматическое уведомление. А быть может, вы пишете собственный браузер — тогда это первый шаг на пути длиной в тысячу километров.

require "net/http"

begin

 h = Net::HTTP.new("www.marsdrive.com", 80) # MarsDrive Consortium

 resp, data = h.get("/index.html", nil)

rescue => err

 puts "Ошибка: #{err}"

 exit

end

puts "Получено #{data.split.size} строк, #{data.size} байтов"

# Обработать...

Сначала мы создаем объект класса HTTP, указывая доменное имя и номер порта сервера (обычно используется порт 80). Затем выполняется операция get, которая возвращает ответ по протоколу HTTP и вместе с ним строку данных. В примере выше мы не проверяем ответ, но если возникла ошибка, то перехватываем ее и выходим.

Если мы благополучно миновали предложение rescue, то можем ожидать, что содержимое страницы находится в строке data. Мы можем обработать ее как сочтем нужным.

Что может пойти не так, какие ошибки мы перехватываем? Несколько. Может не существовать или быть недоступным сервер с указанным именем; указанный адрес может быть перенаправлен на другую страницу (эту ситуацию мы не обрабатываем); может быть возвращена пресловутая ошибка 404 (указанный документ не найден). Обработку подобных ошибок мы оставляем вам.

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

Данный текст является ознакомительным фрагментом.



Поделитесь на страничке

Похожие главы из других книг:

Перерисовка страницы

Из книги автора

Перерисовка страницы Однако когда мы изменяем класс элемента, код отрабатывает значительно быстрее, но вот страница обновляется медленно. Это все из-за того, что изменение свойства className не перерисовывает страницу мгновенно, вместо этого браузер просто помещает событие


Секции Web-страницы

Из книги автора

Секции Web-страницы Снова вернемся в полному HTML-коду нашей Web-странички. Мысленно удалим из него уже рассмотренный фрагмент и получим листинг 1.4. Листинг 1.4 <!DOCTYPE html> <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <TITLE>Пример


Получение и задание размеров и местоположения элемента Web-страницы

Из книги автора

Получение и задание размеров и местоположения элемента Web-страницы Добравшись до нужного элемента Web-страницы, мы можем начать работать с ним, например, получить и задать его размеры и местоположение с помощью описанных в этом разделе методов объекта Element.Методы getWidth и


Получение размеров Web-страницы и клиентской области окна Web-обозревателя

Из книги автора

Получение размеров Web-страницы и клиентской области окна Web-обозревателя Также часто бывает нужно узнать размеры всей Web-страницы и внутренней части окна Web-обозревателя, в которой выводится содержимое Web-страницы (клиентской области окна). Для этого предназначены методы


Как сделать ваш b2b-бренд известным с помощью блога и подкастов

Из книги автора

Как сделать ваш b2b-бренд известным с помощью блога и подкастов Метки: реклама, корпоративный блог, типы блогов, подкастинг, b2bЗа шесть лет на рынке программных продуктов для обеспечения безопасности компания Arbor Networks добилась определенных успехов, но известной назвать ее


Получение и задание размеров и местоположения элемента Web-страницы

Из книги автора

Получение и задание размеров и местоположения элемента Web-страницы Добравшись до нужного элемента Web-страницы, мы можем начать работать с ним, например, получить и задать его размеры и местоположение с помощью описанных в этом разделе методов объекта Element.Методы getWidth и


Получение размеров Web-страницы и клиентской области окна Web-обозревателя

Из книги автора

Получение размеров Web-страницы и клиентской области окна Web-обозревателя Также часто бывает нужно узнать размеры всей Web-страницы и внутренней части окна Web-обозревателя, в которой выводится содержимое Web-страницы (клиентской области окна). Для этого предназначены методы


Страницы

Из книги автора

Страницы Странички (или фэн-странички, как их иногда называют) на первый взгляд практически не отличаются от групп. еще ближе они к обычным фейсбучным профилям – это профили и есть, только не индивидуальные, а коллективные.Страничку может создать для себя компания,


Страницы категорий

Из книги автора

Страницы категорий Как правило, на сайте предлагается не один товар, а несколько вещей из разных категорий. Товары могут отличаться по цене, по марке производителя, по назначению и т. д.Для того чтобы упростить выбор товара, используются страницы категорий.Они позволяют


Страницы

Из книги автора

Страницы Титульный листВ Word имеется коллекция красиво оформленных заготовок титульных листов. При желании вы можете использовать одну их них в своем документе.На вкладке Вставка в группе Страницы нажмите кнопку Титульная страница в открывшемся списке (рис. 1.48) выберите


Параметры страницы

Из книги автора

Параметры страницы Переходим ко второй группе вкладки Разметка страницы – Параметры страницы (рис. 1.80). Как вы понимаете, здесь можно задать размеры страницы. Обычно это делают, когда нужно распечатать свой документ. Смотрим, что тут есть полезного. Рис. 1.80. Кнопки


Фон страницы

Из книги автора

Фон страницы Следующая группа вкладки Разметка страницы – Фон страницы. С помощью ее инструментов, как вы понимаете, можно сделать страничке фон.Подложка. При использовании подложки на страничке появится как будто водяной знак. Если вы выберете в списке команды не


Создание веб-страницы

Из книги автора

Создание веб-страницы Поскольку основная составляющая веб-страниц – это текст, то работа в Adobe Dreamweaver CS3 ничем особо не отличается от работы в текстовом редакторе. Если программа уже запущена и создан пустой HTML-документ, как было описано выше, то можно приступать к работе.


8.3. Создание твердотельных моделей по известным изображениям

Из книги автора

8.3. Создание твердотельных моделей по известным изображениям В задачнике [22] предлагается с помощью векторных команд описать объекты, представленные на рисунках. Выбрав эти рисунки в качестве исходных данных, покажем простоту создания твердотельных моделей.В системе