|
0 / 0 / 0
Регистрация: 12.09.2017
Сообщений: 35
|
|
Простой веб-сервер с directories walk28.09.2017, 17:31. Показов 4076. Ответов 24
Метки нет (Все метки)
В общем, на просторах инета уже многовато поискал информации, но сложновато все структуризировать и создать свой план действия. Смотрим скриншот, что мне нужно. Дальше я бы хотел услышать как мне лучше всего это сделать. Возможно у вас даже есть ссылки на готовое, чтоб можно было засесть и разбирать по строчке сам код.
0
|
|
| 28.09.2017, 17:31 | |
|
Ответы с готовыми решениями:
24
простой веб-сервер Простой веб сервер простой веб сервер |
|
|
||
| 02.10.2017, 18:56 | ||
|
TatiusWazo,
Не пытайтесь писать так как хочется. Пример и так упрощен - если его еще больше упрощать - лучше не будет. Попытайтесь сделать его лучше: разбейте код на небольшие подфункции (код получения списка файлов лучше оформить в отдельную функцию), где каждая будет выполнять свою маленькую подзадачу - так проще будет потом ориентироваться в коде и понимать, где баг, а где фича. :-) Не лепите в одну строку код формирования заголовков ответа и код данных (html) - по RFC2616(Hypertext Transfer Protocol) заголовки разделяются символами перевода строки, а данные отделяются от заголовков двумя (ну или хотя бы одним) символами перевода строки. Они у вас в строке answer, конечно, есть, но явно не обозначены и изменив формат raw строки легко и вовсе потерять их. В конечном итоге, если этот код довести до ума - получится... Flask или Bottle :-) (это такие готовые микрофреймворки для web, где не нужно думать над низоуровневыми вещами).
1
|
||
|
0 / 0 / 0
Регистрация: 12.09.2017
Сообщений: 35
|
||||||
| 02.10.2017, 21:05 [ТС] | ||||||
|
Garry Galler, кстати, я так и не совсем разобрался с этим.
0
|
||||||
|
|
|
| 02.10.2017, 21:57 | |
|
b"" - просто пустая строка (байтовая). b"\r\n" - перевод строки (в байтах).
Разница есть для конкретной системы: на windows перевод строки обозначается как "\r\n", на Linux - "\n", на Mac - "\r". Впрочем, python всю эту разницу нивелирует.
1
|
|
|
0 / 0 / 0
Регистрация: 12.09.2017
Сообщений: 35
|
||||||||||||||||||||||
| 02.10.2017, 23:18 [ТС] | ||||||||||||||||||||||
|
1
Не понял, что за rb.
Остановил только: address = udata. Стало отображать такое: 3
И mimetypes, unquote не знаю, для чего используем (но, я еще и не гуглил). 4
Что я понял с этого. На интуитивном уровне понимаю, что есть некие проверки в стиле status="500 Internal Server Error" и status="404 Not Found", где 404 выбивает, если я захочу ввести в url которого нет. А в от с 500 не могу понять, что мне сделать, что мне выбила эта ошибка. Popen - читал, но не вшарил. 5 Последнее, что я не понял, как оно узнает, в какой директории я есть? Т.е., имею ввиду, я думал, где-то будет использоваться getcwd, но он тут нигде не используется. Добавлено через 50 минут И да! Если сервак долго включен и потом его обновить, выбивает вот такое:
Пишет, что значения не хватает, но почему так происходит?
0
|
||||||||||||||||||||||
|
|
|||||||||||||
| 03.10.2017, 01:04 | |||||||||||||
|
method, protocol, status GET HTTP/1.1 200 OKЧто мы получаем от клиента в первой строки заголовков? method, address, protocol GET /путь_к_ресурсу_относительно_корня HTTP/1.1Кроме адреса нас ничего не интересует поэтому используем только address. Способ получения этих данных из байтов может быть любой. В данном случае используется просто split по пробелам первой строки и распаковка на три переменные. Стандарт есть стандарт.
А в функцию genereate_html передается сначала (первый запуск) - ее значение (то есть нашего корня), а затем уже - при листинге директорий - субдиректории.
1
|
|||||||||||||
| 03.10.2017, 01:04 | |
|
Простой веб-сервер Как написать простой веб сервер
Посоветуйте простой веб сервер для картинок Решить проблему: простой веб сервер на основе boost::asio падает именно при первом же обращении к серверу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу)))
Критические ошибки, мешающие компиляции и. . .
|
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата)
Этот документ предназначен для того, чтобы новый чат Claude мог продолжить
работу без необходимости заново разбираться в. . .
|
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса
Калибровка параметров симбиотической модели: технический обзор
Содержание:
Введение
Постановка проблемы
Технические аспекты реализации
Процесс внедрения изменений
|
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0»
https:/ / ibb. co/ NnkGpfMd
Представленная интегрированная схема описывает непрерывную нелинейную. . .
|
|
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы
### Аннотация
Представлено исследование по разработке агентной модели микоризной. . .
|
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики
Контекст
Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
|
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии
Введение
Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
|
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np
class PlantAgent:
def __init__(self, name, strategy, initial_biomass):
self. name = name
self. strategy = strategy # "greedy" (широколиственные) или. . .
|