Привет, меня зовут Hallessandro, я являюсь разработчиком программного обеспечения, который в настоящее время работает и живет в Бразилии, и в этом посте я покажу вам, как создать HTTP-сервер с помощью Python, поэтому давайте начнем.
Требования
Для этого поста вам понадобится Python 3.x, установленный на вашем компьютере и в некоторых текстовых редакторах или IDE ваших предпочтений.
Наш HTTP-сервер будет сервер простую статическую веб-страницу HTML, это означает, что каждый раз, когда кто-то сделал нам запрос, HTTP-сервер вернет HTML-страницу в качестве ответа.
Прежде всего, давайте создадим новый HTML-файл, который будет использоваться каждый раз, когда был сделан запрос. Для этого создать index.html Файл и поместите следующий код внутри него.
My HTTP Server 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”