Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 203

Из окна терминала (пользователи Windows должны ввести cmd, чтобы получить

Веб-серверы

263

к нему доступ) введите следующую команду, чтобы установщик пакетов Python pip

загрузил последнюю версию пакета и установил ее:

$ pip install requests

Если у вас возникли трудности, прочтите приложение Г, чтобы узнать подроб-

ности о том, как установить и использовать pip.

Переделаем предыдущий вызов сервиса с цитатами с помощью библиотеки

requests:

>>> import requests

>>> url = 'http://www.iheartquotes.com/api/v1/random'

>>> resp = requests.get(url)

>>> resp

<Response [200]>

>>> print(resp.text)

I know that there are people who do not love their fellow man, and I hate

people like that!

-Tom Lehrer, Satirist and Professor

[codehappy] http://iheartquotes.com/fortune/show/21465

Этот пример не сильно отличается от предыдущего, где использовалась библио-

тека urllib.request.urlopen, но он кажется чуть менее объемным.

Веб-серверы

Веб-разработчики обнаружили, что Python хорошо подходит для написания веб-

серверов и программ, работающих на серверной стороне. Это привело к появлению

такого множества фреймворков, написанных на этом языке, что теперь уже стано-

вится трудно исследовать их все и сделать выбор, не говоря уже о том, чтобы ре-

шить, о каких из них поговорить в книге.

Веб-фреймворк предоставляет функции, с помощью которых вы можете построить

сайты, поэтому он может решать большее количество задач, чем простой веб-сервер

(HTTP). Вы встретитесь с функциями маршрутизации (URL к функции сервера),

шаблонами (HTM с динамическими включениями), отладкой и др.

Я не буду говорить в этой книге обо всех фреймворках — рассмотрю лишь те,

которые относительно просты в использовании и подходят для создания настоящих

сайтов. Я также покажу вам, как запускать динамические части сайта с помощью

Python и других составляющих на традиционном веб-сервере.

Простейший веб-сервер Python

Вы можете запустить простейший веб-сервер, просто введя одну строку кода Python:

$ python -m http.server

264

Глава 9. Распутываем Всемирную паутину

С помощью этой строки вы реализуете примитивный Python HTTP server. Если

никаких проблем не возникло, вы увидите исходное сообщение о статусе:

Serving HTTP on 0.0.0.0 port 8000 ...

Запись 0.0.0.0 означает любой адрес TCP, поэтому веб-клиенты могут получать

к нему доступ независимо от того, какой адрес имеет сервер. В главе 11 вы можете

прочитать о некоторых низкоуровневых деталях TCP и других системах соедине-

ния в сеть.

Теперь вы можете запрашивать файлы, чьи пути относительны к вашему теку-

щему каталогу, и они будут вам возвращены. Если вы введете в своем браузере