Как передать имя файла из той же директории в переменную python? - PullRequest
0 голосов
/ 08 февраля 2019

Я пытаюсь передать html-файл в метод doGET для класса BaseHTTPRequestHandler на веб-сервере.Как передать имя файла в переменную для доступа в моем обработчике?

Вместо

from http.server import HTTPServer, BaseHTTPRequestHandler
from urllib.parse import parse_qs

form = '''<!DOCTYPE html>
 <title>Message Board</title>
<form method="POST" action="http://localhost:8000/">
<textarea name="message"></textarea>
<br>
<button type="submit">Post it!</button>
</form>
'''

Я хочу сделать что-то вроде этого:

form = open("Messageboard.html","r")

Но это не работает, когда я пытаюсь прочитать файл здесь:

def do_GET(self):
    # First, send a 200 OK response.
    self.send_response(200)

    # Then send headers.
    self.send_header('Content-type', 'text/html; charset=utf-8')
    self.end_headers()

    # Then encode and send the form.
    self.wfile.write(form.encode())

1 Ответ

0 голосов
/ 08 февраля 2019

Я думаю, вам следует подробнее остановиться на вашем вопросе!Можете ли вы разместить больше кода?

Вообще говоря, запрос GET будет f.ex.принимать параметры URL, например:

http://example.com/getFormName.do?name=Messageboard%2Ehtml

Точка "."в имени файла должен быть закодирован URL (см. здесь: https://www.degraeve.com/reference/urlencoding.php)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...