Веб-сервер — это сервер, поддерживающий протокол HTTP, который может принимать запросы клиентов и возвращать соответствующие данные. Python предоставляет множество способов реализации простого веб-сервера. В этой статье подробно описано, как использовать Python для создания базового веб-сервера и продемонстрированы его основные функции.
Прежде чем мы начнем, нам нужно убедиться, что мы установили Python и некоторые базовые знания сетевого программирования. Кроме того, нам также необходимо использовать Python из http.server
модуль, этот модуль обеспечивает простой HTTP Класс сервера, позволяющий легко создать класс сервера на основе HTTP Соглашение из Web сервер.
Ниже Создайте простой веб-серверизшаг:
Сначала нам нужно импортировать http.server
В модуле HTTPServer
и SimpleHTTPRequestHandler
добрый.
from http.server import HTTPServer, SimpleHTTPRequestHandler
Далее нам необходимо определить адрес сервераиз (IP-адрес) и номер порта.
address = '127.0.0.1' # localhost
port = 8000
Затем мы можем создать объект сервера, импортировав класс из перед выполнением использования.
server = HTTPServer((address, port), SimpleHTTPRequestHandler)
Наконец, мы можем настроить объект «Использовать сервер» serve_forever()
Способы запуска сервера.
server.serve_forever()
Сейчас,Мы успешно создали простой веб-сервер.,И он будет прослушивать указанный адрес и порт,Ожидание запроса клиента.
Чтобы запустить это Простойиз Web сервер, просто сохраните приведенный выше исходный код в файл Python файлы (например, server.py
),Затем выполните следующую команду в терминале:
python server.py
сервер начнет прослушивать указанный адрес и порт,Ожидание запроса клиент.Вы можете ввести в браузере http://127.0.0.1:8000
Заходите в гости на сервер.
В приведенном выше примере изсервер очень прост:,Он может возвращать только статические файлы,И нет функции маршрутизации. но,Мы можем наследовать SimpleHTTPRequestHandler
класс и переопределить его методы, чтобы Настроить поведение сервера。
Вот пример пользовательского сервера, который возвращает динамически созданную HTML-страницу:
from http.server import HTTPServer, BaseHTTPRequestHandler
class MyHandler(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.end_headers()
# Создайте динамическую генерацию из HTML страница
html = '<html><body><h1>Hello, World!</h1></body></html>'
self.wfile.write(bytes(html, 'utf-8'))
address = '127.0.0.1'
port = 8000
server = HTTPServer((address, port), MyHandler)
server.serve_forever()
В приведенном выше примере мы объект Custom из класса обработчика MyHandler
,он наследует от BaseHTTPRequestHandler
добрый.существовать do_GET()
метод, мы вызываем self.send_response()
、self.send_header()
и self.end_headers()
метод для установки информации заголовка ответа и передачи self.wfile.write()
метод отправляет содержимое ответа.
Вы можете прийти в Настройку в соответствии с вашими потребностями. поведение сервера,существовать do_GET()
Или добавьте больше логических функций в другие связанные методы.
Помимо использования Python из Встроенное создание модулей Web Помимо сервера мы также можем использовать сторонние библиотеки для упрощения процесса разработки. Колба легкий из Web фреймворк, который позволяет быстро построить простой Web сервер.
Сначала убедитесь, что у вас установлен Flask:
pip install flask
Затем вы можете создать простой веб-сервер Flask, используя следующий код:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello, World!'
if __name__ == '__main__':
app.run()
В приведенном выше примере мы создали Flask Объекты приложения app
,и сделатьиспользовать @app.route()
Декоратор определяет функцию маршрутизации и обработки ответов. При посещении главной страницы /
будет выполнено, когда hello()
функция и возвращает соответствующий контент.
Чтобы запустить это Flask Web сервер, просто сохраните приведенный выше исходный код в файл Python файлы (например, app.py
),Затем выполните следующую команду в терминале:
python app.py
Flask сервер начнет работать,и послушайте стандартныйизадрес(localhost
)иномер порта(5000
)。ты можешьсуществовать Войдите в браузер http://127.0.0.1:5000
Заходите в гости на сервер.
В этой статье подробно описано, как использовать Python Создайте простой веб-сервер и показывает два разных способа: встроенный модуль makeuse и makeuse. Flask рамка. С помощью этих примеров мы можем научиться создавать, запускать и настраивать базовую программу. Web сервер.
Независимо от того, используете ли вы встроенные модули или используете фреймворки, Python Оба предоставляют богатые инструменты и библиотеки для упрощения Web сервериз Девелопмент. В реальных проектах мы можем выбрать подходящий метод для создания в соответствии с нашими потребностями. Web сервер, а также расширять и оптимизировать его по мере необходимости.