python web服务器样板程序
时间: 2023-05-27 14:07:44 浏览: 64
以下是一个简单的Python Web服务器样板程序:
```python
import socket
# 设置主机和端口
HOST, PORT = '', 8888
# 创建套接字并绑定主机和端口
listen_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
listen_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
listen_socket.bind((HOST, PORT))
listen_socket.listen(1)
print(f'Serving HTTP on port {PORT}...')
while True:
# 接受连接请求并获取连接套接字和客户端地址
client_connection, client_address = listen_socket.accept()
# 接收客户端发送的数据
request_data = client_connection.recv(1024)
print(request_data.decode())
# 构造响应数据并发送给客户端
response_body = 'Hello, World!'
response_headers = [
('Content-Type', 'text/plain'),
('Content-Length', str(len(response_body)))
]
response_headers_raw = ''.join(f'{key}: {value}\r\n' for key, value in response_headers)
response = f'HTTP/1.1 200 OK\r\n{response_headers_raw}\r\n{response_body}'
client_connection.sendall(response.encode())
# 关闭连接套接字
client_connection.close()
```
该程序监听指定的主机和端口,接受客户端的连接请求,接收客户端发送的数据,构造响应数据并发送给客户端,然后关闭连接套接字。在这个例子中,响应是一个简单的“Hello, World!”消息,使用了纯文本格式。如果需要,可以更改响应消息的格式和内容,以适应特定的应用程序需求。