一、HTTP测试
在本地网址输入:127.0.0.1:8888,网址会响应hello world
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Date : 2021/8/5
# @Name : ZhouZongXin
"""
http测试
在本地网址输入:127.0.0.1:8888,网址会响应hello world
"""
from socket import *
s = socket()
s.bind(("0.0.0.0", 8888))
s.listen(5)
c, addr = s.accept()
print(addr) # 浏览器连接
data = c.recv(4096) # 接受的是http请求
print(data.decode())
# http响应格式
html = """HTTP/1.1 200 OK
Content-Type:text/html
hello world
"""
c.send(html.encode()) # 发送响应给客户端
c.close()
s.close()
网页结果:
二、HTTP访问网页
在本地网址输入:127.0.0.1:8888,会访问到百度网址
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Date : 2021/8/6
# @Name : ZhouZongXin
"""
index.html 这个网页内容显示在浏览器上(百度源码下载到本地,重命名为index.html)
要求:浏览器可以多次访问
"""
from socket import *
# TCP套接字
s = socket()
s.bind(("0.0.0.0", 8888))
s.listen(5)
while True:
c, addr = s.accept()
print(addr) # 浏览器连接
data = c.recv(4096) # 接受的是http请求
print(data.decode().split('\n')[0]) # 服务端输出第一行请求行
f = open("index.html") # "index.html"百度网页源码
# http响应格式
html = "HTTP/1.1 200 OK\r\n"
html += "Content-Type:text/html\r\n"
html += "\r\n"
html += f.read() # 响应体
print(html)
c.send(html.encode()) # 发送响应给客户端
f.close()
c.close()
响应结果: