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 (указанный документ не найден). Обработку подобных ошибок мы оставляем вам.
Следующий раздел окажется в этом смысле полезным. В нем мы представим несколько более простой способ решения данной задачи.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Перерисовка страницы
Перерисовка страницы Однако когда мы изменяем класс элемента, код отрабатывает значительно быстрее, но вот страница обновляется медленно. Это все из-за того, что изменение свойства 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] предлагается с помощью векторных команд описать объекты, представленные на рисунках. Выбрав эти рисунки в качестве исходных данных, покажем простоту создания твердотельных моделей.В системе