Библиотека сайта rus-linux.net
Выходим в Веб из консоли
Оригинал: "The Web on the Console"Автор: Joey Bernard
Дата публикации: December 9th, 2010
Перевод: Н.Ромоданов
Дата перевода: декабрь 2010 г.
Большинство пользователей, когда размышляют о серфинге в интернете, подразумевают "графический интерфейс". Действительно, в X11 есть много прекрасных программ, таких как Firefox или Chrome. Однако, и консоль не такая уж пустошь, как это может показаться. В консоли есть много утилит для веб-серфинга и для загрузки или выгрузки веб-контента.
Допустим, что вы хотите найти в интернете некоторый контент. Первой утилитой, на которую стоит взглянуть и которая также является одной из старейших утилит, это - почтенный Lynx. Lynx, в действительности, был первым моим веб-браузером, который работал на машине, где не смогла работать система X11. Обычно вы просто запускаете его в командной строке и подаете ему имя файла или URL. Так что если вы хотите попасть на Google, нужно выполнить следующую команду:
lynx http://www.google.com
Lynx затем спросит вас, хотите ли вы использовать куки от Google и попытается их настроить. После того, как вы подтвердите или отклоните использование куки, браузер Lynx загрузит веб-страницу и покажет ее вам. Как вы, разумеется, заметите, изображений не будет. Но будут присутствовать все ссылки и поле текстового ввода, необходимое для ввода запроса на поиск. С помощью клавиш со стрелками вы можете переходить от ссылки к ссылке. Поскольку компоновка страницы очень проста и содержит, главным образом, текст, элементы страницы будут располагаться совсем не в тех местах, где вы их видите, когда используете графический браузер.
Хорошо знать о некоторых параметрах, используемых с Lynx. Когда вы запускаете Lynx, вы можете указывать более одного адреса URL. Lynx поместит все эти адреса URL в историю (history) вашей сессии и покажет результат поиска по последнему адресу URL. Когда вы выше проверяли загрузку страницы Google, Lynx спросил вас о том, использовать или не использовать куки. На большинстве современных сайтов куки используются, поэтому вы, возможно, не захотите получать запрос по каждому куки. Используйте параметр -accept_all_cookies с тем, чтобы отключить эти предупреждения. С помощью параметра -dump вы можете задать в Lynx режим выдачи страниц в удобочитаемом виде и вывода их в стандартный выходной поток. Таким образом, вы сможете переводить веб-страницы в удобочитаемый формат и запоминать их в файле для последующего их просмотра. Вы можете указать, как отображать нажатия клавиш, — используйте для этого параметр -vikeys или -emacskeys, и вы будете использовать те сочетания клавиш, которыми привыкли пользоваться в выбранном вами текстовом редакторе.
Lynx имеет несколько модификаций. Он обрабатывает только таблицы HTML и не обрабатывает фреймы. Поэтому давайте рассмотрим браузер Links. Браузер Links работает не только в текстовом режиме в командной строке, его можно откомпилировать для использования с графическим дисплеем. Поддерживается работа со следующими графическими ресурсами: X11, SVGA и framebuffer. С помощью параметра -g вы можете выбрать один из этих графических интерфейсов. В Links можно с помощью параметра -dump задать также режим вывода в стандартный выходной поток. Если вам необходимо использовать прокси, то сообщите об этом Links с помощью параметра -http-proxy host:port. Links также может справляться с ошибками, возникающими на веб-серверах. Некоторые веб-сервера сообщают, что они поддерживают конкретный протокол HTTP, но это не так. Чтобы это компенсировать, используйте параметр http-bugs.*. Например, параметр -http-bugs.http10 1 требует от Links использовать протокол HTTP 1.0, даже если сервер сообщает, что поддерживается протокол HTTP 1.1.
Если вы ищете строго текстовую замену почтенному Lynx, то есть браузер ELinks. В ELinks поддерживаются цвета, рендеринг таблиц, фреймы, загрузка в фоновом режиме и просмотр с вкладками. Одним из возможно полезных параметров будет -anonymous 1. Между прочим, этот параметр отключается при просмотре файлов и уже загруженных страниц, хранящихся в локальном компьютере. Еще один интересный параметр -lookup. Когда он используется, ELinks указывает для заданного доменного имени все IP адреса.
Теперь вы знаете, как в командной строке просматривать веб-контент. А как можно взаимодействовать с веб-сайтом? В действительности, я спрашиваю о том, как загружать контент на веб и как его оттуда сгружать. Допустим, вы хотите иметь локальную копию контента, скачанного из сети, которую вы сможете просмотреть, когда отдыхаете на берегу озера, где нет доступа в интернет. Для этого вы можете использовать утилиту curl. Утилита curl может передавать данные на сервер и с сервера по протоколам HTTP, FTP, SFTP и даже LDAP. Она позволяет использовать HTTP-метод POST, соединения с SSL и куки. Когда вы пользуетесь формой, то можете с помощь параметра -F name=value указывать пары "name/value", и веб-сервер будет считать, что вы в форме задали параметры. Одной из очень интересных особенностей является возможность использовать несколько адресов URL и указывать их в виде диапазона. Например, вы можете указать несколько хостов следующим образом:
curl http://site.{one,two,three}.com
в результате произойдет обращение ко всем трем сайтам. Вы можете в квадратных скобках указывать диапазон алфавитно-цифровых значений. С помощью следующей команды:
curl http://www.site.com/text[1-10].html
будет выполнена загрузка с сайтов от text1.html и до text10.html.
А что делать, если вы хотите получить копию всего сайта, а затем просмотреть его, когда вы не подключены к сети? Здесь вам поможет утилита wget. В данном случае вам, вероятно, нужно будет использовать следующую команду:
wget -k -r -p http://www.site.com
Параметр -r указывает, что нужно рекурсивно пройти по всем ссылкам на сайте, начиная с ссылки http://www.site.com/index.html. Параметр -k указывает, что нужно так перезаписать скачанные файлы, чтобы ссылки между страницами были относительными, что позволит правильно переходить по ссылкам в скачанных страницах. Параметр -p указывает, что нужно загружать весь дополнительный контент, имеющийся на странице, например, изображения. Таким образом, вы можете получить зеркало сайта на вашем рабочем столе. wget также позволяет использовать прокси, куки, аутентификацию HTTP и многое другое.
Если вы загружаете контент на веб, используйте wput. wput позволяет загружать контент с помощью FTP, интерфейс такой же, как и у wget.
Теперь вы сможете получить доступ в интернет даже без использования графического интерфейса, это еще одна причина, чтобы удержать вас в командной строке.
Надежный хостинг и регистрация доменов - основа создания
Интернет-сайта. Компания FREEhost.UA один из крупнейших хостинг провайдеров и регистраторов
доменных имен на Украинском рынке, работает с 2003 года! Компания предоставляет виртуальный хостинг
на платформе UNIX и Windows, VPS хостинг, а так же хостинг на кластере, услугу аренды сервера
различных конфигураций и услугу размещения сервера.
Как регистратор доменных имен, компания разработала полностью автоматическое программное
обеспечение, позволяющее регистрировать, продлевать и изменять настройки доменов в режиме
реального времени.