Web服务器-服务器开发-返回固定页面的HTTP服务器(3.3.1)
2024-09-03 11:03:47
@
1.注意
浏览器解析的时候偶\r\n才算一个换行符
发送的str要编码,这里使用的是utf8
其他的都和上一篇没有什么区别
这里主要返回的是固定的网址
2.代码
from socket import *
def service_client(new_socket):
'''为这个客户端返回数据'''
# 1.接收浏览器发送过来的请求,即http请求
#GET /HTTP/1.1
# ...
request = new_socket.recv(1024)
#2,返回http格式的数据给浏览器
#2.1准备发送给浏览器的数据 ---header
response = "HTTP/1.1 200 OK\r\n"#正常浏览器\r\n代表的是换行
response += "\r\n"
#2.2准备发送给浏览器的数据
response += "hahaha"
new_socket.send(response.encode("utf-8"))
#3.关闭套接字
new_socket.close()
def main():
'''用来完成整体的控制'''
#1.创建套接字
tcp_server_socket = socket(AF_INET, SOCK_STREAM)
# 2.绑定本地信息
port = 7891
address = ('', port)
tcp_server_socket.bind(address)
# 3.变为监听,将主动套接字变为被动套接字
tcp_server_socket.listen(128)
#等待连接
while True:
client_socket, clientAddr = tcp_server_socket.accept()
# 接收对方发送过来的数据
service_client(client_socket)
# 关闭监听套接字
tcp_server_socket.close()
if __name__ == "__main__":
main()
关于作者
个人博客网站
个人GitHub地址
个人公众号:
最新文章
- Linux工具入门:make工具与Makefile文件
- shell-引号
- cosine similarity
- Java基础知识系列——Exception
- 【收藏】Android AutoLayout全新的适配方式, 堪称适配终结者
- ie6兼容之绝对定位元素内容为空时高度问题
- Kernel Function--核函数收集
- hdu 1542 Atlantis(线段树,扫描线)
- Qt webkit插件相关知识
- rails获取json内容
- PAT乙级 1013. 数素数 (20)
- Android 常用工具类之SPUtil,可以修改默认sp文件的路径
- visio画UML用例图没有include关系的解决方法
- document cookie用法
- HBase shell 常用指令
- js对于工厂模式的理解
- UIImageView设置为圆形
- XHR 框架与 Dojo( xhrGet,xhrPut,xhrDelete)
- ubuntu 源码安装 swig
- socket用法
热门文章
- 如何用ABBYY解决文档图像存在缺陷,OCR 准确性低的问题
- Win10定期执行python程序
- redis 一致性分析
- [BUGCASE]Phantom服务代码不健壮导致无法发送报表邮件
- Fiddler 4的安装
- 洛谷P3901 数列找不同(莫队水题)
- jdk版本下载
- 第15.27节 PyQt(Python+Qt)入门学习:Model/View架构中的便利类QTreeWidget详解
- 第12.1节 Python os模块导览
- PyQt学习随笔:Model/View中视图数据项编辑变动实时获取变动数据的方法