finish
This commit is contained in:
10
WEB服务器编程实现/lab1.py
Normal file
10
WEB服务器编程实现/lab1.py
Normal file
@@ -0,0 +1,10 @@
|
||||
#import socket module
|
||||
from socket import *
|
||||
serverSocket = socket(AF_INET, SOCK_STREAM)
|
||||
#Prepare a sever socket
|
||||
########## Begin ##########
|
||||
serverSocket.bind(('127.0.0.1',6789))
|
||||
serverSocket.listen(1)
|
||||
########## End ##########
|
||||
print(serverSocket)
|
||||
serverSocket.close()
|
||||
23
WEB服务器编程实现/lab2.py
Normal file
23
WEB服务器编程实现/lab2.py
Normal file
@@ -0,0 +1,23 @@
|
||||
#import socket module
|
||||
from socket import *
|
||||
serverSocket = socket(AF_INET, SOCK_STREAM)
|
||||
#Prepare a sever socket
|
||||
serverSocket.bind(("127.0.0.1",6789))
|
||||
serverSocket.listen(1)
|
||||
|
||||
#while True:
|
||||
#Establish the connection
|
||||
print('开始WEB服务...')
|
||||
|
||||
try:
|
||||
########## Begin ##########
|
||||
connectionSocket, addr = serverSocket.accept()
|
||||
message = connectionSocket.recv(1024)
|
||||
########## End ##########
|
||||
print(addr[0])
|
||||
print(message)
|
||||
connectionSocket.close()
|
||||
except IOError:
|
||||
|
||||
connectionSocket.close()
|
||||
serverSocket.close()
|
||||
28
WEB服务器编程实现/lab3.py
Normal file
28
WEB服务器编程实现/lab3.py
Normal file
@@ -0,0 +1,28 @@
|
||||
#import socket module
|
||||
from socket import *
|
||||
|
||||
serverSocket = socket(AF_INET, SOCK_STREAM)
|
||||
#Prepare a sever socket
|
||||
serverSocket.bind(("127.0.0.1",6789))
|
||||
serverSocket.listen(1)
|
||||
|
||||
#while True:
|
||||
print('开始WEB服务...')
|
||||
|
||||
try:
|
||||
connectionSocket, addr = serverSocket.accept()
|
||||
message = connectionSocket.recv(1024) # 获取客户发送的报文
|
||||
#读取文件内容
|
||||
######### Begin #########
|
||||
message = message.decode("utf-8")
|
||||
line1 = message.split("\n")[0]
|
||||
url = line1.split()[1]
|
||||
fo = open(f".{url}","r+")
|
||||
outputdata = fo.read()
|
||||
######### End #########
|
||||
print(outputdata)
|
||||
connectionSocket.close()
|
||||
except IOError:
|
||||
|
||||
connectionSocket.close()
|
||||
serverSocket.close()
|
||||
31
WEB服务器编程实现/lab4.py
Normal file
31
WEB服务器编程实现/lab4.py
Normal file
@@ -0,0 +1,31 @@
|
||||
#import socket module
|
||||
from socket import *
|
||||
|
||||
serverSocket = socket(AF_INET, SOCK_STREAM)
|
||||
#Prepare a sever socket
|
||||
serverSocket.bind(("127.0.0.1",6789))
|
||||
serverSocket.listen(1)
|
||||
|
||||
#while True:
|
||||
print('开始WEB服务...')
|
||||
|
||||
try:
|
||||
connectionSocket, addr = serverSocket.accept()
|
||||
message = connectionSocket.recv(1024) # 获取客户发送的报文
|
||||
|
||||
#读取文件内容
|
||||
filename = message.split()[1]
|
||||
f = open(filename[1:])
|
||||
outputdata = f.read();
|
||||
|
||||
#发送响应的头部信息
|
||||
header = ' HTTP/1.1 200 OK\nConnection: close\nContent-Type: text/html\nContent-Length: %d\n\n' % (len(outputdata))
|
||||
#########Begin#########
|
||||
connectionSocket.send(header.encode())
|
||||
#########End#########
|
||||
|
||||
connectionSocket.close()
|
||||
except IOError:
|
||||
|
||||
connectionSocket.close()
|
||||
serverSocket.close()
|
||||
38
WEB服务器编程实现/lab5.py
Normal file
38
WEB服务器编程实现/lab5.py
Normal file
@@ -0,0 +1,38 @@
|
||||
#import socket module
|
||||
from socket import *
|
||||
|
||||
serverSocket = socket(AF_INET, SOCK_STREAM)
|
||||
#Prepare a sever socket
|
||||
serverSocket.bind(("127.0.0.1",6789))
|
||||
serverSocket.listen(1)
|
||||
|
||||
#while True:
|
||||
print('开始WEB服务...')
|
||||
try:
|
||||
connectionSocket, addr = serverSocket.accept()
|
||||
message = connectionSocket.recv(1024) # 获取客户发送的报文
|
||||
|
||||
#读取文件内容
|
||||
filename = message.split()[1]
|
||||
f = open(filename[1:])
|
||||
outputdata = f.read();
|
||||
|
||||
#向套接字发送头部信息
|
||||
header = ' HTTP/1.1 200 OK\nConnection: close\nContent-Type: text/html\nContent-Length: %d\n\n' % (len(outputdata))
|
||||
connectionSocket.send(header.encode())
|
||||
|
||||
#发送文件内容
|
||||
#########Begin#########
|
||||
for i in range(0, len(outputdata)):
|
||||
connectionSocket.send(outputdata[i].encode())
|
||||
#########End#########
|
||||
|
||||
#关闭连接
|
||||
connectionSocket.close()
|
||||
except IOError: #异常处理
|
||||
#发送文件未找到的消息
|
||||
|
||||
#关闭连接
|
||||
connectionSocket.close()
|
||||
#关闭套接字
|
||||
serverSocket.close()
|
||||
39
WEB服务器编程实现/lab6.py
Normal file
39
WEB服务器编程实现/lab6.py
Normal file
@@ -0,0 +1,39 @@
|
||||
#import socket module
|
||||
from socket import *
|
||||
|
||||
serverSocket = socket(AF_INET, SOCK_STREAM)
|
||||
#Prepare a sever socket
|
||||
serverSocket.bind(("127.0.0.1",6789))
|
||||
serverSocket.listen(1)
|
||||
|
||||
#while True:
|
||||
print('开始WEB服务...')
|
||||
try:
|
||||
connectionSocket, addr = serverSocket.accept()
|
||||
message = connectionSocket.recv(1024) # 获取客户发送的报文
|
||||
|
||||
#读取文件内容
|
||||
filename = message.split()[1]
|
||||
f = open(filename[1:])
|
||||
outputdata = f.read();
|
||||
|
||||
#向套接字发送头部信息
|
||||
header = ' HTTP/1.1 200 OK\nConnection: close\nContent-Type: text/html\nContent-Length: %d\n\n' % (len(outputdata))
|
||||
connectionSocket.send(header.encode())
|
||||
|
||||
#S发送请求文件的内容
|
||||
for i in range(0, len(outputdata)):
|
||||
connectionSocket.send(outputdata[i].encode())
|
||||
|
||||
#关闭连接
|
||||
connectionSocket.close()
|
||||
except IOError: #异常处理
|
||||
#发送文件未找到的消息
|
||||
header = ' HTTP/1.1 404 not Found'
|
||||
#########Begin#########
|
||||
connectionSocket.send(header.encode())
|
||||
#########End#########
|
||||
#关闭连接
|
||||
connectionSocket.close()
|
||||
#关闭套接字
|
||||
serverSocket.close()
|
||||
Reference in New Issue
Block a user