栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python学习日志——网络编程(五)静态web服务器

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python学习日志——网络编程(五)静态web服务器

静态web服务器

1. 介绍
可以为发出请求的浏览器提供静态文档的程序。即所访问的页面是静态的,页面中的内容不会发生变化。
2. 实现步骤

1.编写一个TCP服务端程序
2.获取浏览器发送的http请求报文数据
3.读取固定页面数据,把页面数据组装成HTTP响应报文数据发送给浏览器。
4.HTTP响应报文数据发送完成以后,关闭服务于客户端的套接字。

3. 示例代码

# 时间: 2021/10/21 20:38
import socket


if __name__ == '__main__':
    # 创建tcp服务端套接字
    tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    # 设置端口号复用, 程序退出端口立即释放
    tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)
    # 绑定端口号
    tcp_server_socket.bind(("", 8080))
    # 设置监听
    tcp_server_socket.listen(128)
    while True:
        # 等待接受客户端的连接请求
        new_socket, ip_port = tcp_server_socket.accept()
        # 代码执行到此,说明连接建立成功
        recv_client_data = new_socket.recv(4096)
        # 对二进制数据进行解码
        recv_client_content = recv_client_data.decode)
        print(recv_client_content)
        

        # 响应行
        response_line = "HTTP/1.1 200 OKrn"
        # 响应头
        response_header = "Server: py1.0rn"

        # 响应体
        response_body = "Hello,guys!"

        # 拼接响应报文
        response_data = (response_line + response_header + "rn"+ response_body).encode()
        # 发送数据
        new_socket.send(response_data)

        # 关闭服务与客户端的套接字
        new_socket.close()

4. 结果演示

1.首先通过在命令行中输入指令 ipconfig,获取本机的IP
2.运行Python程序
3.在浏览器中输入获得的IP和端口号 如:192.168.**.*:8080

可以看到结果如图
服务器接受的数据:

GET / HTTP/1.1
Host: 192.168.**.*:8080
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9

网页显示:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/339352.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号