Эта строка скрыто вызывает модуль стандартной библиотеки webbrowser и пе-
ренаправляет ваш браузер по просветительской ссылке. (Если вы по какой-то
причине не видите ее, посетите сайт xkcd.)
Вы можете использовать этот модуль непосредственно. Эта программа загру-
жает страницу главного сайта о Python в ваш браузер:
>>> import webbrowser
>>> url = 'http://www.python.org/'
>>> webbrowser.open(url)
True
Этот код откроет ее в новом окне:
>>> webbrowser.open_new(url)
True
Веб-сервисы и автоматизация
277
А этот — на новой вкладке, если ваш браузер поддерживает вкладки:
>>> webbrowser.open_new_tab('http://www.python.org/')
True
Модуль webbrowser заставляет браузер делать всю работу.
API для Сети
и Representational State Transfer
Зачастую данные доступны только внутри веб-страниц. Если вы хотите получить
к ним доступ, вам нужно получить доступ к странице через браузер и прочитать ее.
Если с момента вашего последнего визита авторы сайта внесли какие-нибудь из-
менения, местоположение и стиль данных могли измениться.
Вместо того чтобы публиковать веб-страницы, вы можете предоставить до-
ступ к данным через веб-интерфейс программирования приложений (Application
Programming Interface, API). Клиенты получают доступ к вашему сервису, делая
запросы к URL, и получают ответы, содержащие статус и данные. Вместо HTML-
страниц данные имеют формат, который удобнее использовать в других програм-
мах вроде JSON и XML (в главе 8 содержится более подробная информация
о форматах).
Понятие «передача состояния представления» (Representational State Transfer,
REST) было определено Роем Филдингом (Roy Fielding) в его докторской дис-
сертации. Многие продукты имеют REST-интерфейс или интерфейс RESTful.
На практике это часто означает, что они имеют веб-интерфейс — определения URL,
предназначенные для доступа к веб-сервису.
Служба RESTful использует глаголы HTTP определенными способами, описан-
ными далее:
HEAD — получает информацию о ресурсе, но не его данные;
GET — как подразумевает имя, GET получает данные ресурса с сервера. Это стан-
дартный метод, используемый вашим браузером. В любое время, когда вы ви-
дите URL с вопросительным знаком (?), за которым следует несколько аргу-
ментов, вы можете распознать запрос GET. GET не должен использоваться для
создания, изменения или удаления данных;
POST — этот глагол обновляет данные на сервере. Он часто используется для
HTML-форм и сетевых API;
PUT — этот глагол создает новый ресурс;
DELETE — этот глагол говорит сам за себя: DELETE удаляет. Мы за правдивость
в рекламе!