摘要
要实现一个可以接收参数的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]
age = query.get('age', [''])[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("You are %s years old.
" % age, "utf-8"))
if __name__ == '__main__':
# 启动HTTP服务器
server_address = ('', 8000)
httpd = HTTPServer(server_address, MyHandler)
print('Starting server...')
httpd.serve_forever()
使用说明
在这个例子中,MyHandler
类继承自BaseHTTPRequestHandler
,用于处理HTTP请求。在do_GET()
方法中,首先解析URL中的查询字符串,然后获取参数值。接下来,代码构造响应,并将参数值插入到HTML页面中。最后,响应发送到客户端。
如果您想添加更多的参数,只需要在URL中添加相应的查询参数,并在do_GET()
方法中解析即可。例如,如果您想添加一个gender
参数,可以这样访问URL:http://localhost:8000/?name=Tanking&age=27&gender=male
。
您可以通过运行上述代码来启动HTTP服务器,然后在浏览器中访问http://localhost:8000/?name=Tanking&age=27
来测试它。服务器将返回一个包含参数值的HTML页面。
演示
http://python.wxpad.cn:8000/?name=Tanking&age=666
作者
TANKING