一:寫一個服務器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