socket模块
2021/11/18 23:43:31
本文主要是介绍socket模块,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
socket模块
HTTP协议 1.四大特性 1.基于请求响应 2.基于TCP/IP作用于应用层之上的协议(OSI七层) 3.无状态 4.无连接/短连接 长链接 websocket 2.数据格式 请求格式 请求头(请求方法) 请求首行(一大堆kv键值对) 请求体(并不是所有的请求都有 携带一些敏感数据) 响应格式 3.响应状态码 用数字来表示一堆中文意思 1XX 2XX 200 3XX 302 304 4XX 403 404 5XX 500 在公司中还会自定义更多的状态码 一般都是以10000起步
服务端
import socket """ 1.必须要有固定的IP和PORT 2.必须能够24小时不间断提供服务 3.能够支持高并发 """ # 1.创建socket对象 server = socket.socket() # 2.绑定IP和PORT server.bind(('127.0.0.1', 8080)) # 3.监听 server.listen(5) # 链接循环 while True: conn, addr = server.accept() # 接收客户端数据 data = conn.recv(1024) # 将data转换成字符串 # 回复HTTP响应格式 conn.send(b'HTTP/1.1 200 OK\r\n\r\n') new_data = data.decode('utf8') res = new_data.split(' ')[1] if res == '/index': conn.send(b'index') # 回复客户端消息 conn.send(b'how are you?') """ b'GET / HTTP/1.1\r\n 请求头 Host: 127.0.0.1:8080\r\n 一堆KV键值对 Connection: keep-alive\r\n sec-ch-ua: "Chromium";v="92", " Not A;Brand";v="99", "Google Chrome";v="92"\r\n sec-ch-ua-mobile: ?0\r\n Upgrade-Insecure-Requests: 1\r\n User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36\r\n Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\r\n Sec-Fetch-Site: none\r\n Sec-Fetch-Mode: navigate\r\n Sec-Fetch-User: ?1\r\n Sec-Fetch-Dest: document\r\n Accept-Encoding: gzip, deflate, br\r\n Accept-Language: zh-CN,zh;q=0.9\r\n Cookie: csrftoken=8EqjbfAEKVeFfdsCzPdBjHHotyBJfuagqFy3rtUjhmXCBArcEB1e3E0MaX1sdFA0\r\n \r\n' 换行 GET请求没有请求体 """
客户端
import socket client = socket.socket() client.connect(('127.0.0.1',8080)) while True: client.send(b'who you are?') res = client.recv(1024) print(res)
这篇关于socket模块的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-04安装 Eyoucms详细图文教程-icode9专业技术文章分享
- 2024-07-04ueditor 复制文章时,图片的链接是一个下载图片地址,该如何处理?-icode9专业技术文章分享
- 2024-07-04怎样判断host有没有对wordpress有缓存呢-icode9专业技术文章分享
- 2024-07-04具有编译功能的系统make后,无法ssh连接-icode9专业技术文章分享
- 2024-07-04make后如何升级ssh-icode9专业技术文章分享
- 2024-07-03微信支付提示下单账户与支付账户不一致-icode9专业技术文章分享
- 2024-07-03微信支付提示订单号重复-icode9专业技术文章分享
- 2024-07-02微服务启动nacos注册上去了,但是一直没有收到请求-icode9专业技术文章分享
- 2024-07-02如何检查文件的编码格式-icode9专业技术文章分享
- 2024-07-02sublime 更改编码格式-icode9专业技术文章分享