#-*-coding:utf-8-*-
import socket
from socket import *
from multiprocessing import Process
def handleClient(newClient):
data = newClient.recv(1024)
requestHeaderLines = data.splitlines()
for line in requestHeaderLines:
print(line)
responseHeaderLines = "HTTP/1.1 200 OK\r\n"
responseHeaderLines += "\r\n"
responseBody = "hello world"
response = responseHeaderLines+responseBody
newClient.send(bytes(response,"utf-8"))
newClient.close()
def main():
clientSocket = socket(AF_INET,SOCK_STREAM)
clientSocket.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)
clientSocket.bind(("",7878))
clientSocket.listen(5)
while True:
newClient,clientAddr = clientSocket.accept()
pross = Process(target=handleClient,args=(newClient,))
pross.start()
newClient.close()
if __name__ == '__main__':
main()
运行结果:
b'GET / HTTP/1.1'
b'Host: localhost:7878'
b'Connection: keep-alive'
b'Upgrade-Insecure-Requests: 1'
b'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'
b'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8'
b'Accept-Encoding: gzip, deflate, br'
b'Accept-Language: zh-CN,zh;q=0.9'
b''
b'GET /favicon.ico HTTP/1.1'
b'Host: localhost:7878'
b'Connection: keep-alive'
b'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'
b'Accept: image/webp,image/apng,image/*,*/*;q=0.8'
b'Referer: http://localhost:7878/'
b'Accept-Encoding: gzip, deflate, br'
b'Accept-Language: zh-CN,zh;q=0.9'
b''