Python

Як користуватися Python SimpleHTTPServer

Як користуватися Python SimpleHTTPServer

Основним завданням веб-сервера є обробка HTTP-запитів від клієнта. Він чекає HTTP-запитів, що надходять з певної IP-адреси та номера порту, обробляє запит і відправляє відповідь клієнта назад. Python використовує SimpleHTTPServer модуль для миттєвого створення веб-сервера та легкого обслуговування вмісту файлу з сервера. Він також може використовуватися для спільного використання файлів. Для цього потрібно ввімкнути цей модуль із розташуванням спільних файлів. Цей модуль постачається з інтерпретатором Python. Не потрібно його встановлювати. Оскільки цей модуль об'єднано з http.сервер модуль в python3, тож вам доведеться запустити http.сервер запустити веб-сервер у python3. Як веб-сервер може використовуватися для обробки запитів HTTP та обміну файлами, було показано в цьому посібнику.

Запустіть веб-сервер із терміналу

Виконайте наступну команду для запуску веб-сервера з терміналу. Якщо в команді не вказано номер порту, веб-сервер за замовчуванням почне роботу з порту 8000.

$ python3 -m http.сервер

Наступний результат з’явиться, якщо веб-сервер буде запущено належним чином. Для зупинки сервера натискається CTRL + C.


Виконайте таку команду, щоб запустити веб-сервер з порту 8080.

$ python3 -m http.сервер 8080

Наступний вивід з’явиться, якщо веб-сервер запущено через порт 8080.

Запустіть веб-сервер, використовуючи скрипт Python

Виконайте наступні команди, щоб створити папку з іменем веб і перейдіть до папки. Усі файли сценаріїв та файли HTML цього підручника будуть створені всередині цієї папки.

$ mkdir web
$ cd веб

Створіть файл HTML з іменем testHTML.html всередині веб з наступним сценарієм. Цей файл буде подано з веб-сервера пізніше.

testHTML.html



<br>Перевірте веб-сервер Python<br>



Зображення не знайдено

Вітання! Ваш веб-сервер успішно працює.


Відвідайте LinuxHint.ком для отримання додаткових посібників з Python




Приклад-1: Запустіть веб-сервер із вказаним номером порту

Створіть файл python з таким сценарієм, щоб запустити веб-сервер на порту 8008. http.сервер модуль імпортовано для запуску веб-сервера, а файл SocketServer модуль імпортований для обробки HTTP-запиту, що надходить з порту 8080. Об’єкт з іменем Обробник створено для обробки запитів HTTP. назавжди () функція викликається для запуску веб-сервера. У сценарій не додано жодної умови припинення. Отже, скрипт генерує помилку, коли користувач намагається зупинити сервер.

# Імпортувати серверний модуль
імпортувати http.сервер
# Імпортувати модуль SocketServer
імпортувати сервер сокетів
# Встановіть номер порту
порт = 8080
# Створити об’єкт для обробки HTTP-запитів
Обробник = http.сервер.SimpleHTTPRequestHandler
# Запустіть сервер назавжди для обробки запитів HTTP
з сервером сокетів.TCPServer (("", порт), обробник) як httpd:
print ("Веб-сервер працює на http: // localhost:% s"% порт)
httpd.serve_forever ()

Вихідні дані

Наступний результат з’явиться після виконання вищезазначеного сценарію.


Список файлів і папок, де знаходиться сценарій, буде показано, якщо вказану нижче URL-адресу виконано з браузера.

http: // localhost: 8080

Якщо користувач натискає CTRL + C з терміналу або натискає кнопку зупинки з редактора PyCharm, відобразиться таке повідомлення про помилку. Цю проблему вирішено в наступному прикладі цього посібника.

Приклад-2: Запустіть веб-сервер із номером порту, визначеним командним рядком

Створіть файл python з таким сценарієм для запуску веб-сервера на певному порту, якщо аргумент командного рядка вказує номер порту; інакше 5000 буде використовуватися як порт за замовчуванням. sys модуль імпортований у сценарій для читання значень аргументів командного рядка. спробуй-крім блок був доданий у сценарій для обробки помилки, коли користувач намагається зупинити сервер.  Якщо після запуску сервера з'являється виняток KeyboardInterrupt, тоді файл закрити () буде викликана функція зупинки веб-сервера.

# Імпортувати серверний модуль
імпортувати http.сервер
# Імпортувати модуль SocketServer
імпортувати сокет-сервер - -
# Імпортувати модуль sys
імпортувати sys
спробуйте:
# Встановіть номер порту
якщо sys.argv [1:]:
port = int (sys.argv [1])
ще:
порт = 5000
# Встановіть IP-адресу
server_address = ('127.0.0.1 ', порт)
# Створити об’єкт для обробки HTTP-запитів
Обробник = http.сервер.SimpleHTTPRequestHandler
# Запустіть веб-сервер назавжди для обробки запитів HTTP
з сервером сокетів.TCPServer (("", порт), обробник) як httpd:
print ("Веб-сервер працює на http: // localhost:% s"% порт)
httpd.serve_forever ()
# Зупинив сервер
крім KeyboardInterrupt:
httpd.server_close ()
print ("Сервер зупинено.")

Вихідні дані

Наступний вивід з’явиться після виконання вищезазначеного сценарію без значення аргументу командного рядка.

Наступний результат з’явиться, якщо запустити файл HTML, створений на попередньому кроці з веб-сервера.

Відкрийте діалогове вікно конфігурації з меню Виконати редактора PyCharm, щоб встановити значення аргументу командного рядка. Поле параметрів використовується для встановлення аргументу командного рядка, а тут 3000 встановлюється як значення аргументу.

Наступний результат з’явиться, якщо ви знову запустите сценарій після встановлення значення аргументу.

Приклад-3: Запустіть веб-сервер із файлом HTML

Створіть файл python з таким сценарієм для запуску веб-сервера, визначивши файл HTML для базової URL-адреси. Ім'я хосту та номер порту визначено на початку сценарію. PythonServer клас визначив у сценарії відображення файлу HTML у браузері, коли веб-сервер починає працювати.

# Імпортуйте серверний модуль
імпортувати http.сервер
# Встановіть ім'я хосту
HOST = "localhost"
# Встановіть номер порту
ПОРТ = 4000
# Визначте клас для відображення сторінки індексу веб-сервера
клас PythonServer (http.сервер.SimpleHTTPRequestHandler):
def do_GET (self):
якщо сам.шлях == '/':
себе.path = 'testHTML.html '
повернути http.сервер.SimpleHTTPRequestHandler.do_GET (самостійно)
# Оголосити об'єкт класу
webServer = http.сервер.HTTPServer ((HOST, PORT), PythonServer)
# Роздрукуйте URL-адресу веб-сервера
print ("Сервер запущений http: //% s:% s"% (HOST, PORT))
спробуйте:
# Запустіть веб-сервер
webServer.serve_forever ()
крім KeyboardInterrupt:
# Зупиніть веб-сервер
webServer.server_close ()
print ("Сервер зупинено.")

Вихідні дані

З'явиться наступний результат, що виконує вищевказаний сценарій.

Наступна сторінка з’явиться у браузері, якщо виконується основна URL-адреса веб-сервера веб-браузера.

Висновок

Різні способи реалізації веб-серверів за допомогою http. сервер модуль показав у цьому посібнику, щоб допомогти користувачам python створити простий веб-сервер у Python.

Підручник Тінь розкрадача гробниць для Linux
Shadow of the Tomb Raider - дванадцяте доповнення до серії Tomb Raider - франшизи екшн-пригодницької гри, створеної Eidos Montreal. Гру сприйняли як к...
Як збільшити FPS в Linux?
FPS означає Кадри в секунду. Завданням FPS є вимірювання частоти кадрів при відтворенні відео або ігрових виставах. Простими словами кількість безпере...
Найкращі лабораторні ігри Oculus App
Якщо ви є власником гарнітури Oculus, то вам потрібно дізнатися про бокове завантаження. Бокове завантаження - це процес встановлення негарнітного вмі...