模拟浏览器服务器代码

模拟服务器代码:

复制代码
import socket

sok = socket.socket()
sok.bind(('127.0.0.1',7788))
sok.listen(3)
while True:
    print("李凤娟服务器已启动...........")
    conn,addr = sok.accept()
    print("conn:", conn) # conn: <socket.socket fd=312, family=2, type=1, proto=0, laddr=('127.0.0.1', 7788), raddr=('127.0.0.1', 56911)>
    print("addr:", addr) # addr: ('127.0.0.1', 56911)
    data = conn.recv(1024)
    print("服务器接收到的数据:", data) # 服务器接收到的数据: b'GET / HTTP/1.1\r\nHost: 127.0.0.1:7788\r\nConnection: keep-alive\r\nsec-ch-ua: "Not/A)Brand";v="99", "Google Chrome";v="115", "Chromium";v="115"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: "Windows"\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36\r\nAccept: 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.7\r\nSec-Fetch-Site: none\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\nAccept-Encoding: gzip, deflate, br\r\nAccept-Language: zh-CN,zh;q=0.9\r\n\r\n'
    conn.send(b"HTTP/1.1 200 ok\r\n\r\n<h2>abc</h2>")
复制代码

服务器端的输出:

复制代码
李凤娟服务器已启动...........
conn: <socket.socket fd=312, family=2, type=1, proto=0, laddr=('127.0.0.1', 7788), raddr=('127.0.0.1', 56911)>
addr: ('127.0.0.1', 56911)
服务器接收到的数据: b'GET / HTTP/1.1\r\nHost: 127.0.0.1:7788\r\nConnection: keep-alive\r\nsec-ch-ua: "Not/A)Brand";v="99", "Google Chrome";v="115", "Chromium";v="115"\r\nsec-ch-ua-mobile: ?0\r\nsec-ch-ua-platform: "Windows"\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36\r\nAccept: 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.7\r\nSec-Fetch-Site: none\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-User: ?1\r\nSec-Fetch-Dest: document\r\nAccept-Encoding: gzip, deflate, br\r\nAccept-Language: zh-CN,zh;q=0.9\r\n\r\n'
李凤娟服务器已启动...........
conn: <socket.socket fd=352, family=2, type=1, proto=0, laddr=('127.0.0.1', 7788), raddr=('127.0.0.1', 56912)>
addr: ('127.0.0.1', 56912)
服务器接收到的数据: b'GET /favicon.ico HTTP/1.1\r\nHost: 127.0.0.1:7788\r\nConnection: keep-alive\r\nsec-ch-ua: "Not/A)Brand";v="99", "Google Chrome";v="115", "Chromium";v="115"\r\nsec-ch-ua-mobile: ?0\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36\r\nsec-ch-ua-platform: "Windows"\r\nAccept: image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Dest: image\r\nReferer: http://127.0.0.1:7788/\r\nAccept-Encoding: gzip, deflate, br\r\nAccept-Language: zh-CN,zh;q=0.9\r\n\r\n'
李凤娟服务器已启动...........
复制代码

请求数据 (GET请求):当浏览器访问“127.0.0.1:7788”的时候“服务器接收到的数据
”:

b'GET / HTTP/1.1\r\n
Host: 127.0.0.1:7788\r\n
Connection: keep-alive\r\n
sec-ch-ua: "Not/A)Brand";v="99", "Google Chrome";v="115", "Chromium";v="115"\r\n
sec-ch-ua-mobile: ?0\r\n
sec-ch-ua-platform: "Windows"\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/115.0.0.0 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.7\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\
r\n'
 

浏览器端显示

 

posted @   勋勋的大宝贝  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
点击右上角即可分享
微信分享提示