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

Создайте HTTP-сервер с Python

Привет, меня зовут Hallessandro, я являюсь разработчиком программного обеспечения, который в настоящее время работает и живет в Бразилии, а я … помечен с Python.

Привет, меня зовут Hallessandro, я являюсь разработчиком программного обеспечения, который в настоящее время работает и живет в Бразилии, и в этом посте я покажу вам, как создать HTTP-сервер с помощью Python, поэтому давайте начнем.

Требования

Для этого поста вам понадобится Python 3.x, установленный на вашем компьютере и в некоторых текстовых редакторах или IDE ваших предпочтений.

Наш HTTP-сервер будет сервер простую статическую веб-страницу HTML, это означает, что каждый раз, когда кто-то сделал нам запрос, HTTP-сервер вернет HTML-страницу в качестве ответа.

Прежде всего, давайте создадим новый HTML-файл, который будет использоваться каждый раз, когда был сделан запрос. Для этого создать index.html Файл и поместите следующий код внутри него.





    
    
    
    My HTTP Server
    


    
        Just a dance image
    
    

Welcome, and thanks for visiting our website!

Я положил изображение на нашу страницу, поэтому нажмите здесь и скачать изображение под названием Тенор.гиф Отказ Вам нужно поставить изображение в той же папке HTML-файла или изменить значение SRC на теге IMG.

Создайте HTTP-сервер

Для создания HTTP-сервера в Python вам понадобится импорт два модуля, http.server и Socketserver

import http.server
import socketserver as socket

Теперь нам нужен способ разобраться с HTTP-запросом, и для этого, наше удачи, Python имеет http.server. SimpleHttPrequesthandler простой обработчик, который обслуживает статические файлы из текущего каталога. Для использования этого парня сделайте что-то вроде этого:

handler = http.server.SimpleHTTPRequestHandler

У нас есть обработчик, чтобы справиться с HTTP-запросом, но теперь нам нужно поставить наш сервер на воздух, для этого нам нужно использовать протокол TCP. В Python очень просто (нравится все остальное в Python), чтобы открыть соединение TCP, все, что нам нужно, это использовать Socketserver. Класс TCPSERVER. , нравится:

socketserver.TCPServer((IP_ADDRESS, PORT), Handler)

Как видите, TCPASERVER получает три аргумента, IP-адрес и порт в качестве кортеля, а обработчик, что в нашем случае является экземпляром SimpleHttPrequesthandhandhandhandher.

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

Теперь все, что нам нужно сделать, это поместить сервер для запуска, для этого внутри TCPSERVER нам нужно позвонить на метод serv_forever () из класса TCPSERVER, этот метод запускает сервер и начинает слушать и отвечать на входящий запрос Используйте их, сделайте что-то вроде этого:

with socket.TCPServer(("", PORT), handler) as httpd:
    print("Server is running on port ", PORT)
    httpd.serve_forever()

Теперь давайте проверим, за это запустите файл Python с вашего терминала, если все в порядке, вы увидите что-то подобное, на консоли:

Server is running on port  8090

Теперь открыть веб-браузер и доступа к URL Localhost: 8090, страница, как это будет отображаться:

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

127.0.0.1 - - [22/Jan/2019 22:27:32] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [22/Jan/2019 22:27:32] "GET /tenor.gif HTTP/1.1" 200 -

Полный код для этого примера это:

import http.server
import socketserver as socket

PORT = 8080
handler = http.server.SimpleHTTPRequestHandler

with socket.TCPServer(("", PORT), handler) as httpd:
    print("Server is running on port ", PORT)
    httpd.serve_forever()

В реальном случае ваш сервер не будет просто серверным статическим HTML-файлами, но например, это хороший способ понять, как это сделать в Python, поэтому на данный момент все люди, спасибо за чтение, не стесняйтесь связаться со мной и До следующего раза, ребята.

Оригинал: “https://dev.to/hallessandro/create-a-http-server-with-python-e25”