一:写一个服务器socket与浏览器进行交互
服务器收数据
server.py
from socket import * server_socket = socket(AF_INET,SOCK_STREAM) server_socket.bind(("127.0.0.1",10012)) server_socket.listen(128) client_socket,client_address = server_socket.accept() recv_data = client_socket.recv(1024) print("接收的数据是",recv_data.decode("gbk")) # 浏览器发送 127.0.0.1:10012后打印 接收的数据是 GET / HTTP/1.1 Host: 127.0.0.1:10012 Connection: keep-alive Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36 Sec-Fetch-Mode: navigate Sec-Fetch-User: ?1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3 Sec-Fetch-Site: none Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9
服务器给浏览器发数据
假如我访问的是 127.0.0.1:10012?a=1,server的socket怎么接收到这个参数呢?
postman访问服务端打印的数据
GET /?a=1 HTTP/1.1 User-Agent: PostmanRuntime/7.24.1 Accept: */* Cache-Control: no-cache Postman-Token: 8cd656c8-5e2b-47e8-bac7-7d551fd20e48 Host: 127.0.0.1:10012 Accept-Encoding: gzip, deflate, br Connection: keep-alive
浏览器访问服务端打印的数据
GET /?a=1 HTTP/1.1 Host: 127.0.0.1:10012 Connection: keep-alive Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36 Sec-Fetch-Mode: navigate Sec-Fetch-User: ?1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3 Sec-Fetch-Site: none Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9
服务器获取到查询参数
# TODO