Библиотечные модули Python для Интернета

bibliotechnye moduli python dlya interneta Сетевые сценарии

Если все это показалось вам ужасно сложным, не унывайте: все детали обрабатываются стандартными модулями Python поддержки протоколов. Например, библиотечный модуль Python ftplib управляет установлением связи на уровне сокетов и сообщений, которое определено в протоколе FTP. Сценарии, импортирующие ftplib, получают доступ к интерфейсу пересылки файлов по FTP значительно более высокого уровня и могут в значительной мере оставаться в неведении относительно лежащего в основе протокола FTP и сокетов, на которых он вы- полняется.

В действительности все поддерживаемые протоколы представлены в стандартной библиотеке Python либо пакетами модулей, имена которых соответствуют названию протокола, либо файлами модулей с именами в формате xxxlib.py, где xxx заменяется именем протокола. В последней колонке табл. 12.1 указано имя стандартного модуля поддержки протокола. Например, протокол FTP поддерживается файлом модуля ftplib.py, а протокол HTTP — пакетом http.*. Кроме того, в модулях протоколов имя объекта интерфейса верхнего уровня обычно совпадает с названием протокола. Так, например, чтобы начать сеанс FTP в сценарии Python, нужно выполнить инструкцию import ftplib и передать надлежащие параметры конструктору ftplib.FTP; для Telnet нужно создать экземпляр класса telnetlib.Telnet.

Помимо модулей реализации протоколов, указанных в табл. 12.1, в стандартной библиотеке Python есть модули для получения ответов веб-серверов (urllib.request), анализа и обработки данных, которые переданы через сокеты или протоколы (html.parser, пакеты email.* и xml.*), и многие другие. В табл. 12.2 перечислены наиболее часто используемые модули из этой категории.

Со многими из этих модулей мы встретимся в нескольких последующих главах, хотя и не со всеми. Кроме того, существует еще целый ряд модулей Python для работы с Интернетом, которые здесь не перечислены. Модули, демонстрируемые в этой книге, являются наиболее типичными, но, как обычно, за более полными и свежими данными обращайтесь к справочному руководству по стандартной библиотеке Python.

Табли ца 12.2. Стан дарт ные мо дули, час то ис поль зуе мые для ра бо ты с Ин тер не том

Модули Python

Применение

socket, ssl

Поддержка сетевых взаимодействий (TCP/IP, UDP и другие) плюс безопасные сокеты SSL

cgi

Поддержка CGI-сценариев на стороне сервера: анализ входного потока, экранирование текста HTML и тому подобное.

urllib.request

Получение веб-страниц по их адресам (URL)

urllib.parse

Анализ и преобразование строк URL в компоненты, экранирование строк URL

http.client, ftplib, nntplib

Модули поддержки протоколов HTTP (Веб), FTP (пересылка файлов) и NNTP (телеконференции) на стороне клиента

http.cookies,

Поддержка cookie протокола HTTP (блоки данных, сохра-

http.cookiejar

няемые на стороне клиента по запросу веб-сайта, поддержка на стороне клиента и сервера)

poplib, imaplib, smtplib

Модули поддержки протоколов POP, IMAP (получение почты) и SMTP (отправка почты)

telnetlib

Модуль поддержки протокола Telnet

html.parser, xml.*

Синтаксический анализ содержимого веб-страниц (документы HTML и XML)

xdrlib, socket

Переносимое кодирование передаваемых двоичных данных

struct, pickle

Кодирование объектов Python в пакеты двоичных данных или сериализованные строки байтов для передачи

email.*

Синтаксический анализ и составление сообщений электронной почты с заголовками, вложениями и кодировками

mailbox

Обработка почтовых ящиков на диске и сообщений в них

mimetypes

Определение типа содержимого файлов исходя из их имен и расширений

uu, binhex, base64, binascii, quopri, email.*

Кодирование и декодирование двоичных (или других) данных, передаваемых в виде текста (автоматически используется пакетом email)

socketserver

Фреймворк для создания стандартных серверов Сети

http.server

Базовая реализация сервера HTTP с обработчиками запросов для простых серверов и серверов с поддержкой CGI

Использованная литература:

Марк Лутц — Программирование на Python, 4-е издание, II том, 2011

Каталог сайтов Всего.ру
Оцените статью
Секреты программирования
Добавить комментарий