• http服务器三:自己写一个服务器实现转发功能


    一:写一个服务器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

  • 相关阅读:
    济南学习 Day2 T1 am
    济南学习 Day1 T2 pm
    济南学习 Day1 T3 am
    济南学习 Day 1 T2 am
    洛谷 P1209 修理牛棚== Codevs 2079 修理牛棚
    2016.10.30 济南学习 Day2 下午 T1
    餐厅随笔----2016.10.30 于济南 外出学习
    bzoj1671 [Usaco2005 Dec]Knights of Ni 骑士
    bzoj1088 [SCOI2005]扫雷Mine
    bzoj1655 [Usaco2006 Jan] Dollar Dayz 奶牛商店
  • 原文地址:https://www.cnblogs.com/meloncodezhang/p/12795780.html
Copyright © 2020-2023  润新知