Рубрики
Без рубрики

SimpleHttPServer объяснил: как отправлять файлы с помощью Python

Автор оригинала: FreeCodeCapm Team.

Как веб-разработчик, будет точка, когда вам нужно создать свой собственный локальный веб-сервер.

Может быть, это потому, что вы будете на полете и хотите работать над своим проектом, далеко от интернет-сервиса. Или, возможно, вы просто хотите быстрый способ доступа к файлам с другого компьютера в вашей домашней сети.

Всякий раз, когда возникает необходимость, настройка локального HTTP-сервера является полезным навыком.

Что такое HTTP-сервер?

Проще говоря, HTTP-сервер или веб-сервер – это процесс, работающий на машине, который слушает для входящих запросов и обслуживает веб-страницы.

Например, когда вы печатаете https://www.freecodecamp.org/news/ В вашем браузере есть сервер, где-то слушает этот запрос. В ответ оно отправляет задние данные, поэтому ваш браузер может представлять страницу новостей разработчика FreeCodeCamp.

Конечно, намного больше происходит за кулисами, но для целей этого учебника это все, что вам действительно нужно знать.

Как настроить локальный HTTP-сервер

  1. Установите Python
  2. Откройте вашу командную строку или терминал и запустите python -v.
  3. Перейдите в каталог вашего проекта с помощью CD на * NIX или MacOS Systems или CD для окон
  4. Запустите следующие команды, чтобы запустить локальный HTTP-сервер:
# If python -V returned 2.X.X
python -m SimpleHTTPServer

# If python -V returned 3.X.X
python3 -m http.server

# Note that on Windows you may need to run python -m http.server instead of python3 -m http.server

Вы заметите, что обе команды выглядят очень разными – один звонков SimpleHttPerver а другой http.server Отказ Это только потому, что SimpleHttPerver Модуль был свернут в Python’s http.server в Python 3. Они оба работают так же.

Теперь, когда вы идете в http://localhost: 8000/ Вы должны увидеть список всех файлов в вашем каталоге. Тогда вы можете просто нажмите на HTML-файл, который вы хотите просмотреть.

Просто имейте в виду, что SimpleHttPerver и http.server только для тестирования вещей локально. Они делают только очень базовые проверки безопасности и не должны использоваться в производстве.

Как отправлять файлы локально

Чтобы настроить своего рода быстрое и грязное NAS (сетевое хранилище):

  1. Убедитесь, что обе компьютеры подключены к той же сети через LAN или WiFi
  2. Откройте вашу командную строку или терминал и запустите Python -V Чтобы убедиться, что Python установлен
  3. Перейдите в каталог, файл которого вы хотите поделиться с помощью команды CD (Change Directory).
  4. Перейдите в каталог с файлом, который вы хотите поделиться, используя CD на * NIX или MacOS Systems или CD для окон
  5. Начните свой HTTP-сервер с помощью Python -m SimpleHttpserver или python3 -m http.server.
  6. Откройте новый терминал и введите ifconfig на * NIX или MacOS или ipconfig в Windows, чтобы найти свой IP-адрес

Теперь на втором компьютере или устройстве:

  1. Откройте браузер и введите IP-адрес первой машины, а также порта 8000: http://[IP-адрес]: 8000

Страница откроется, показывая все файлы в каталоге, который используется с первого компьютера. Если на странице слишком долго загружается, вам может потребоваться настроить параметры брандмауэра на первом компьютере.