欢迎访问宙启技术站
智能推送

使用Python编写一个简单的网页服务器程序

发布时间:2023-12-04 09:00:51

下面是一个使用Python编写的简单网页服务器程序的示例代码:

import socket
import os

def handle_request(client_socket):
    request_data = client_socket.recv(1024).decode()
    request_lines = request_data.split('
')
    request_method = request_lines[0].split()[0]
    request_path = request_lines[0].split()[1]

    response_body = ''
    if request_path == '/':
        response_body = '<h1>Welcome to the HomePage!</h1>'
    elif request_path == '/about':
        response_body = '<h1>About Page</h1>'
    else:
        response_body = '<h1>404 Not Found</h1>'

    response_headers = [
        'HTTP/1.1 200 OK',
        'Content-Type: text/html',
        'Content-Length: {}'.format(len(response_body)),
        'Connection: close',
    ]
    response = '\r
'.join(response_headers) + '\r
\r
' + response_body

    client_socket.sendall(response.encode())
    client_socket.close()

def start_server():
    server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    server_socket.bind(('localhost', 8080))
    server_socket.listen(1)

    print('Server listening on http://localhost:8080/')

    while True:
        client_socket, client_address = server_socket.accept()
        handle_request(client_socket)

if __name__ == '__main__':
    start_server()

这个示例程序实现了一个简单的网页服务器,监听本地主机上的8080端口。当客户端发起请求时,服务器会根据请求的路径返回不同的响应。如果请求的路径是根路径 /,服务器会返回一个欢迎页面;如果请求的路径是 /about,服务器会返回一个关于页面;否则返回一个404页面未找到的错误。

要运行这个程序,只需在终端中执行 python server.py,然后在浏览器中访问 http://localhost:8080/ 就可以看到服务器返回的响应页面了。

这个程序只是一个非常简单的示例,用于演示基本的网页服务器的实现原理。在实际的应用中,可能需要处理更多的请求类型或动态生成内容。