我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端。 这样我们就可以自己实现Web框架了。
在学之前我们要复习前面的知识
"""
s = "Alex SB 哈哈\r\nx:1\r\ny:2\r\nz:3\r\n\r\n自行车"
# 问题1:如何取到["Alex SB 哈哈\r\nx:1\r\ny:2\r\nz:3", "自行车"]
s1=(s.split("\r\n\r\n"))
print(s1)
# 问题2:如何在上面结果基础上拿到["Alex", "SB", "哈哈"]?
s2=s1[0].split(\'\r\n\')[0].split(\' \')
print(s2)
# 问题3:如何在上面结果基础上拿到"SB"?
print(s2[1])
# ------------------------------------------------------------------------------------------
# 有一个列表,他的内部是一些元祖,元祖的第一个元素是姓名,第二个元素是爱好。
# 现在我给你一个姓名,如"Egon",如果有这个姓名,就打印出他的爱好,没有就打印查无此人。
list1 = [
("Alex", "烫头"),
("Egon", "街舞"),
("Yuan", "喝茶")
]
for i in list1:
if "Egon"==i[0]:
print(i[1])
break
else:
print(\'查无此人\')
# ------------------------------------------------------------------------------------------
# 我有一个HTML文件"login.html"
# 问题1:我如何读取它的内容保存到变量html_s?
# with open(\'login.html\',r,encoding=\'utf8\')as f:
# html_s=f.read()
# 问题2:我如何读取它的二进制内容保存到变量html_b?
# with open(\'login.html\',rb)as f:
# html_b=f.read()
# ------------------------------------------------------------------------------------------
s2 = "Alex 花了一百万买了辆电动车,真@@xx@@。"
# 问题1:如何把上面的s2转变成"Alex 花了一百万买了辆电动车,真SB。"
# print(s2.replace("真@@xx@@","真SB"))
半成品自定义web框架import socket sk = socket.socket() sk.bind(("127.0.0.1", 80)) sk.listen() while True: conn, addr = sk.accept() data = conn.recv(8096) conn.send(b"OK") conn.close()