zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    xpath爬顶点页面信息
    urllib与urllib的区别
    爬虫代理IP
    前端js框架汇总
    scrapy的基本安装步骤
    Python+requests 爬取网站遇到中文乱码怎么办?
    爬虫笔记课后习题1
    至此记录点滴、、
    c++封装的发邮件类CSendMail
    Socket创建失败:10093错误
  • 原文地址:https://www.cnblogs.com/meloncodezhang/p/12795780.html
Copyright © 2011-2022 走看看