如何使用Python中的Socket API编写一个HTTP服务器程序,监听浏览器客户端的请求。
时间: 2024-02-25 08:56:43 浏览: 29
下面是一个简单的Python HTTP服务器程序示例,使用Socket API监听浏览器客户端的请求:
```python
import socket
HOST = '' # 监听所有的IP地址
PORT = 8080 # 监听的端口号
def handle_request(client_socket):
request_data = client_socket.recv(1024) # 接收客户端请求数据
print(request_data)
http_response = b"""\
HTTP/1.1 200 OK
Hello, World!
"""
client_socket.sendall(http_response) # 发送HTTP响应数据
client_socket.close()
def run_server():
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as server_socket:
server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) # 设置地址复用
server_socket.bind((HOST, PORT))
server_socket.listen()
print(f'Server listening on port {PORT}...')
while True:
client_socket, client_address = server_socket.accept()
print(f'Client connected from {client_address[0]}:{client_address[1]}')
handle_request(client_socket)
if __name__ == '__main__':
run_server()
```
运行以上代码后,就可以在浏览器中输入 `http://localhost:8080`,访问该HTTP服务器程序并接收返回的响应数据。注意,以上示例只是一个最简单的HTTP服务器程序,实际生产环境需要考虑更多因素和安全性问题。