Создать простой веб-сервер на python несложно. Для этого нам понадобится сокеты (sockets).
Но прежде нужно определить, что мы хотим получить в результате.
А хотим мы получить простую программу на python, которая будет прослушивать какой-то порт нашего локального компьютера и принимать запросы от браузера.
1. Создадим файл my_server.py:
2. А теперь запустим этот файл в консоли Windows cmd.exe. Для этого вам нужно открыть командную строку Windows, указать путь к файлу my_server.py и нажать Enter.
Так мы запустили сервер, который ожидает запросы на адрес http://127.0.0.1:8080.
3. Запустим браузер, к примеру Internet Explorer, и перейдем по адресу http://127.0.0.1:8080/test. В результате в браузере и консоли мы увидим следующее:
Таким образом, в переменной data нашего скрипта хранится информация о странице, которую пользователь запрашивает. Мы можем дописать код, и сервер будет возвращать в зависимости от запроса контент той или иной html-страницы, хранящейся на сервере.
Далее можно будет сделать так, чтобы содержимое html-страницы строилось на основе данных, хранящихся в базе данных, к примеру, mysql. Однако это тема отдельных постов.
Но прежде нужно определить, что мы хотим получить в результате.
А хотим мы получить простую программу на python, которая будет прослушивать какой-то порт нашего локального компьютера и принимать запросы от браузера.
1. Создадим файл my_server.py:
#!/usr/bin/env python # -*- coding: utf-8 -*- import socket import time serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) serversocket.bind(('localhost', 8080)) serversocket.listen(5) print 'Server is waiting for connections.' while True: conn, addr = serversocket.accept() data = conn.recv(1024) print 'Connection:', addr print '------------------------------' print "Request Data from Browser" print '------------------------------' print data conn.send(data) conn.close() # Делаем задержку, чтобы цикл не сильно загружал процессор time.sleep(0.1)
2. А теперь запустим этот файл в консоли Windows cmd.exe. Для этого вам нужно открыть командную строку Windows, указать путь к файлу my_server.py и нажать Enter.
Так мы запустили сервер, который ожидает запросы на адрес http://127.0.0.1:8080.
3. Запустим браузер, к примеру Internet Explorer, и перейдем по адресу http://127.0.0.1:8080/test. В результате в браузере и консоли мы увидим следующее:
Таким образом, в переменной data нашего скрипта хранится информация о странице, которую пользователь запрашивает. Мы можем дописать код, и сервер будет возвращать в зависимости от запроса контент той или иной html-страницы, хранящейся на сервере.
Далее можно будет сделать так, чтобы содержимое html-страницы строилось на основе данных, хранящихся в базе данных, к примеру, mysql. Однако это тема отдельных постов.
Комментариев нет:
Отправить комментарий