Автор оригинала: Doug Hellmann.
Интернет – это всеобъемлющий аспект современных вычислений. Даже небольшие одноразовые скрипты часто взаимодействуют с удаленными службами для отправки или получения данных. Богатый набор инструментов Python для работы с веб-протоколами делает его хорошо подходящим для программирования веб-приложений в качестве клиента или сервера.
Модуль urllib.parse управляет строками URL, разделяя и комбинируя их компоненты, и полезен на клиентах и серверах.
Модуль urllib.request реализует API для удаленного получения контента.
Запросы HTTP POST обычно “закодированы в форме” с помощью urllib
. Двоичные данные, отправляемые через POST, должны быть сначала закодированы с помощью base64, чтобы соответствовать стандарту формата сообщений.
Клиенты с правильным поведением, которые обращаются ко многим сайтам в качестве паука или краулера, должны использовать urllib.robotparser, чтобы убедиться, что у них есть разрешение, прежде чем создавать большую нагрузку на удаленный сервер.
Чтобы создать собственный веб-сервер с Python, не требуя каких-либо внешних фреймворков, используйте http.server в качестве отправной точки. Он обрабатывает протокол HTTP, поэтому единственная необходимая настройка – это код приложения для ответа на входящие запросы.
Состояние сеанса на сервере можно контролировать с помощью файлов cookie, создаваемых и анализируемых модулем http.cookies. Полная поддержка срока действия, пути, домена и других параметров cookie упрощает настройку сеанса.
Модуль uuid используется для генерации идентификаторов ресурсов, которым нужны уникальные значения. UUID хороши для автоматического создания значений Uniform Resource Name (URN), где имя ресурса должно быть уникальным, но не должно передавать никакого значения.
Стандартная библиотека Python включает поддержку двух веб-механизмов удаленного вызова процедур. Схема кодирования JavaScript Object Notation (JSON), используемая для связи AJAX и REST API, реализована в json. Он одинаково хорошо работает как на клиенте, так и на сервере. Полные клиентские и серверные библиотеки XML-RPC также включены в xmlrpc.client и xmlrpc.server соответственно.
- urllib.parse – разделить URL-адреса на компоненты
- urllib.request – Доступ к сетевым ресурсам
- urllib.robotparser – Контроль доступа Internet Spider
- base64 – кодировать двоичные данные с помощью ASCII
- http.server – Базовые классы для реализации веб-серверов
- http.cookies – HTTP-файлы cookie
- webbrowser – отображает веб-страницы
- uuid – универсальные уникальные идентификаторы
- json – Нотация объектов JavaScript
- xmlrpc.client – Клиентская библиотека для XML-RPC
- xmlrpc.server – Сервер XML-RPC