我正尝试在doGET方法中为Web服务器中的BaseHTTPRequestHandler类传递html文件。如何将文件名传递给变量以在处理程序中访问?
代替
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())
答案 0 :(得分:0)
我认为您应该进一步说明您的问题!您可以发布更多代码吗?
通常来说,GET请求将会执行。接受网址参数,例如:
http://example.com/getFormName.do?name=Messageboard%2Ehtml
点“。”文件名中的URL必须进行URL编码(请参见此处:https://www.degraeve.com/reference/urlencoding.php)