首页 > Web开发 > 详细

Web服务器-HTTP相关-快速整一个服务器响应浏览器(3.2.1)

时间:2019-08-23 13:58:17      阅读:96      评论:0      收藏:0      [点我收藏+]

@

1.HTTP分析

当你去访问一个网址的时候,浏览器会发送而各种头信息给服务器
然后服务器根据信息,返回一定数据的格式
最简单的就是下面的代码
自己构造返回数据的时候,头信息一定放在前面
当出现空格的时候,下一行就是返回的超文本HTML

HTTP/1.1 200 OK

<!Doctype html>....

2.简单服务器

from socket import *
import sys




def main():

    if len(sys.argv) != 2:
        print("可以按照如下方式运行:python3 xxx.py 7890")
        port = 7890
    else:
        # 运行方式为python3 xxx.py 7890
        port = int(sys.argv[1])


    # 创建socket
    tcp_server_socket = socket(AF_INET, SOCK_STREAM)
    # 本地信息
    address = ('', port)
    # 绑定本地信息
    tcp_server_socket.bind(address)
    # 将主动套接字变为被动套接字
    tcp_server_socket.listen(128)

    while True:
        # 等待客户端的链接,即为这个客户端发送文件
        client_socket, clientAddr = tcp_server_socket.accept()
        # 接收对方发送过来的数据
        recv_data = client_socket.recv(1024)  # 接收1024个字节
        print(recv_data)

        with open(r"F:\Work\Python-Work\python学习8-7重跑\3.web服务器\http\baidu.html","rb") as e:
            str_ = e.read()
        client_socket.send(str_)



    # 关闭监听套接字
    tcp_server_socket.close()


if __name__ == "__main__":
    main()

说明
创建一个socket对象,配置ip和host等
然后监听,给个循环一直监听
如果有客户访问,就把客户socket对象赋值给client_socket
通过client_socket发送响应信息
其中.html中要包含头部信息
打开浏览器访问,加载出页面说明没问题

关于作者

个人博客网站
个人GitHub地址
个人公众号:
技术分享图片

Web服务器-HTTP相关-快速整一个服务器响应浏览器(3.2.1)

原文:https://www.cnblogs.com/simon-idea/p/11399139.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!