码迷,mamicode.com
首页 > 编程语言 > 详细

Python的web服务器的程序设计

时间:2017-09-11 00:52:36      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:lin   页面   stream   get   listen   客户端浏览器   def   imp   请求   

1. 使用python编写一个静态的web服务器,能够处理静态页面的http请求

原理:

a. 使用socket进行服务端和浏览器之间的通信

b. 使用多线程处理多个客户端浏览器的请求

c. 使用http协议发送响应数据

实现:

# coding:UTF-8

import socket

from multiprocessing import Process

def handle_request(client_socket):
    request_data = client_socket.recv(1024)

    response_first_line = "HTTP/1.1 200 OK\r\n"
    response_headers = "Server: My Web Static Server\r\n"
    response_body = "Hello, My Web Static Server"
    response = response_first_line + response_headers + "\r\n" + response_body
    client_socket.send(bytes(response, encoding="UTF-8"))
    client_socket.close()

if __name__ == "__main__":
    server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    server_socket.bind(("",8001))
    server_socket.listen(128)

    while True:
        client_socket, client_address = server_socket.accept()
        print(‘["%s", "%s"]用户已经连接上服务器!‘ % client_address)
        handler = Process(target=handle_request, args=(client_socket,))
        handler.start()
        client_socket.close()

  

Python的web服务器的程序设计

标签:lin   页面   stream   get   listen   客户端浏览器   def   imp   请求   

原文地址:http://www.cnblogs.com/liuzhiqaingxyz/p/7502833.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!