Запуск простого HTTP-сервера в Python 3: команда и модули

Пройдите тест, узнайте какой профессии подходите и получите бесплатную карьерную консультацию
В конце подарим скидку до 55% на обучение
Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Чтобы запустить HTTP-сервер на Python 3, используйте модуль http.server следующим образом:

Python
Скопировать код
python3 -m http.server 8000

Данный код запустит HTTP-сервер, который будет поддерживать текущую директорию на порту 8000. Если вы не укажите порт, по умолчанию будет использоваться порт 8000.

Привязка к локальному адресу в Python 3

Если вам не нужно предоставлять доступ к файлам через Интернет, ограничьте доступ только для локальных запросов, связав сервер с определенным IP-адресом (127.0.0.1):

Python
Скопировать код
python3 -m http.server --bind 127.0.0.1 8000 # и ваш секрет не будет раскрыт!

Обслуживание определенной директории

Если вам нужно предоставить доступ к файлам конкретной директории, используйте параметр --directory:

Python
Скопировать код
python3 -m http.server --directory /path/to/directory 8000 # на подиум выходят мои котограммы!

Изменение порта

Не хотите использовать занятый порт 8000 или просто хотите разнообразия? Выберите любой другой свободный порт:

Python
Скопировать код
python3 -m http.server 9000 # потому что девятка — это просто красиво!

Приветствие IPv6

Если у вас установлен Python 3.8 или более новая версия, вы можете использовать IPv6. Для этого укажите IPv6-адрес в параметре привязки:

Python
Скопировать код
python3 -m http.server --bind ::1 # Привет, сеть нового поколения!

Дружелюбное предупреждение

Тем не менее, несмотря на удобство и простоту использования, модуль http.server не предназначен для использования в продакшн-среде. Его минимальные функции безопасности делают его легкой добычей для хакеров!

Запуск устаревшего кода Python 2

Хотите запустить код Python 2 на Python 3? Используйте инструмент 2to3 для гладкого перехода:

Bash
Скопировать код
2to3 – <<< "import SimpleHTTPServer" # Воскрешаем из архивов...

Он подскажет, какие изменения нужно внести, чтобы код SimpleHTTPServer работал на Python 3 без проблем.

Визуализация

Переход с Python 2 на Python 3 можно сравнить с обновлением старого велосипеда до современного электросамоката:

Markdown
Скопировать код
Старый велосипед (Python 2): 🚲
Команда: **`python -m SimpleHTTPServer`** ➡️ *На таком далеко не уедешь...*

Добро пожаловать в мир Python 3:

Markdown
Скопировать код
Электросамокат (Python 3): 🛴
Команда: **`python -m http.server`** ➡️ *Дадим жару!

Прощай, устаревший мир технологий, здравствуй, яркий мир современной продуктивности.

Полезные материалы

  1. Официальная документация модуля http.server Python 3.12.1 — здесь вы найдёте всё о http.server, великолепный ресурс по данному модулю.
  2. Как использовать Python SimpleHTTPServer – PythonForBeginners.com — пошаговое руководство для начинающих без всяких загадок.
  3. Эквивалент команды "python -m SimpleHTTPServer" в Python 3 – Stack Overflow — коллективный опыт и мудрость сообщества на все случаи жизни.
  4. Руководство по использованию http.server для запуска веб-серверов – DigitalOcean — подробное иллюстрированное руководство, которое быстро превратит вас в мастера http.server.
  5. Как настроить локальный тестовый сервер? – Обучение веб-разработке | MDN — MDN Web Docs расскрывают все секреты запуска и настройки локальных серверов для разработки.
  6. Улучшения модуля http.server в Python 3.7+ – Python Insider — оставайтесь в курсе последних обновлений и улучшений, начиная с версии Python 3.7.
  7. Минимальный HTTP-сервер на Python – GitHub Gist — проверенный временем код, который обеспечивает базовую обработку различных HTTP-запросов.