第一步--写一个服务端
import socket
server = socket.socket() # 默认就是TCP协议
server.bind(('127.0.0.1', 8080))
server.listen(5)
while True:
conn, addr = server.accept() # 三次四次挥手
data = conn.recv(1024) # 接收消息
print(data)
conn.send(b'hello world!')
conn.close()
运行这个服务端。
用浏览器发送请求。
遇到问题,浏览器说,ERR_INVALID_HTTP_RESPONSE 响应无效。
第二步,解决第一步遇到问题。--响应无效
分析是
- 因为浏览器是有自己的规范的,没有安装人家的规范来。
- 人家的规范叫HTTP协议。
解决是
conn.send(b'HTTP/1.1 200 OK \r\n\r\nhello world!!')
# 按照HTTP协议来
查看结果:
现在一切OK,可恶的产品经理有新的需求
说要根据不同的url访问不同的页面。
比如:
访问127.0.0.1:8080/login访问一个登录的页面
访问127.0.0.1:8080 访问一个首页
如何解决“ta”的需求?
第三步--解决第二步新的需求--根据路由访问不同的页面
分析:
试了一下,通过浏览器访问不同的url地址。
服务端拿到的数据是不有变化的。
所以,我们看看能否利用字符串切割出想要的reg和login
解决:
先解码,再切割。
标签:web,HTTP,--,server,访问,手写,conn From: https://www.cnblogs.com/liqi175/p/17365391.html参考资料:https://www.cnblogs.com/Dominic-Ji/articles/16294929.html