Python实现一个简单的http服务,Url传参输出html页面

摘要

要实现一个可以接收参数的HTTP服务器,您可以使用Python标准库中的http.server模块。该模块提供了一个简单的HTTP服务器,可以用于开发和测试Web应用程序。

下面是一个示例代码,它实现了一个可以接收参数的HTTP服务器:

代码

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

class MyHandler(BaseHTTPRequestHandler):
    def do_GET(self):
        
        # 解析URL中的查询字符串
        query = parse_qs(urlparse(self.path).query)

        # 获取参数值
        name = query.get('name', [''])[0]
        time = query.get('time', [''])[0]

        # 构造响应
        self.send_response(200)
        self.send_header('Content-type', 'text/html')
        self.end_headers()
        self.wfile.write(bytes("Python HTTP Server", "utf-8"))
        self.wfile.write(bytes("

Hello, %s!

" % name, "utf-8")) self.wfile.write(bytes("

this is a python server page, this time is %s

" % time, "utf-8")) if __name__ == '__main__': # 启动HTTP服务器 server_address = ('', 8000) httpd = HTTPServer(server_address, MyHandler) print('服务已开启...') httpd.serve_forever()

使用说明

在这个例子中,MyHandler类继承自BaseHTTPRequestHandler,用于处理HTTP请求。在do_GET()方法中,首先解析URL中的查询字符串,然后获取参数值。接下来,代码构造响应,并将参数值插入到HTML页面中。最后,响应发送到客户端。

如果您想添加更多的参数,只需要在URL中添加相应的查询参数,并在do_GET()方法中解析即可。例如,如果您想添加一个gender参数,可以这样访问URL:http://localhost:8000/?name=Tanking&time=2023-10-21&gender=male

您可以通过运行上述代码来启动HTTP服务器,然后在浏览器中访问http://localhost:8000/?name=Tanking&time=2023-10-21来测试它。服务器将返回一个包含参数值的HTML页面。

运行

在宝塔的终端中,你可以这样运行:

Python实现一个简单的http服务,Url传参输出html页面_第1张图片

但是,关闭终端就停止运行了。所以需要使用这个命令:

Python实现一个简单的http服务,Url传参输出html页面_第2张图片

nohup python yourpycode.py &

演示

Python实现一个简单的http服务,Url传参输出html页面_第3张图片

http://python.wxpad.cn:8000/?name=Tanking&time=2023-10-21

服务器&主机推荐

免备案的虚拟主机、云服务器
宝塔/EP系统预装(支持Windows),一键式操作
https://www.rainyun.com/TANKING_

作者

TANKING

你可能感兴趣的:(Python,后端,python,http,html,1024程序员节)