准备文件:
http_server.py : 程序主模块文件
index.html : 用于响应给浏览器的HTML文件
http_server.py 代码:
from socket import * #引入socket模块
def main(): #定义一个主函数
s = socket() #创建一个 socket对象
s.setsockopt(SOL_SOCKET,SO_REUSEADDR,1) #设置端口重用
s.bind(('0.0.0.0',8080)) #绑定8080端口
s.listen(3) #设置最大连接数 3
print('等待连接请求...') #打印通知信息
while True: #死循环,无限等待用户连接
c,addr = s.accept() #等待连接
data = c.recv(4089) #接收连接请求
print('已连接至',addr) #打印出连接信息
try: #尝试打开 index.html
f = open('G:/Python/index.html') #打开index.html
except OSError: #如果文件打开失败
resp = 'HTTP/1.1 404 NOT FOUND' #返回码设置为 404
resp += '\r\n' #空行
resp += '没有找到文件' #返回的信息
else:#如果文件打开成功
resp = 'HTTP/1.1 200 OK' #返回状态码为200
resp += '\r\n' #空行
resp += f.read() #读取文件内容
finally: #最终要执行的语句
c.send(resp.encode()) #将响应信息编码后发送给用户
if __name__ == '__main__': #如果当前是主模块
main() #则调用main()函数
index.html 代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>python test document</title>
</head>
<body>
<h1>python test document</h1>
</body>
</html>
用电脑浏览器访问结果:
手机浏览器访问结果:
发表评论