Python实现http服务器(http.server模块传参 接收参数)实例
作者:ANKING
这篇文章主要为大家介绍了Python实现http服务器(http.server模块传参 接收参数)实例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
摘要
要实现一个可以接收参数的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("<html><head><title>Python HTTP Server</title></head>", "utf-8")) self.wfile.write(bytes("<body><p>Hello, %s!</p>" % name, "utf-8")) self.wfile.write(bytes("<p>this is a python server page, this time is %s</p><img src='https://pic.rmb.bdstatic.com/bjh/b1dd190e30c6aae5ab98cba7d9105e886484.jpeg' style='width:500px;' /></body></html>" % 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页面。
运行
在宝塔的终端中,你可以这样运行:
但是,关闭终端就停止运行了。所以需要使用这个命令:
nohup python yourpycode.py &
演示
以上就是Python实现http服务器(http.server模块传参 接收参数)实例的详细内容,更多关于Python http.server传参接收的资料请关注脚本之家其它相关文章!