python http的请求和响应

2023-05-16

"""
http请求(请求行和空行是必须要有的,请求体和请求头可以没有)
    请求格式:请求行,请求头,空行,请求体
    1.请求行:具体请求类别和请求内容
        GET          /          HTTP/1.1
        请求类别    请求内容        协议版本
        请求类别表示要做不同的事
        GET:获取网络资源
        POST:提交一定的信息,得到反馈
        HEAD:只获取网络资源的响应头
        PUT:更新服务器资源
        DELETE:删除服务器资源
        CONNECT:
        TRACE:测试
        OPTIONS:获取服务器性能信息
    2.请求头:对请求的进一步解释和描述(键值对表示,每个键值对表示一个描述,也表示一行)
        Accept-Encoding:gzip 请求获取一个编码是gzip
    3.空行
    4.请求体:请求的参数或者提交内容
"""
from socket import *

soc = socket(AF_INET, SOCK_STREAM)
soc.bind(('127.0.0.1', 8080))
soc.listen(2)
csoc, addr = soc.accept()
print("connect from", addr)
buffer_byte = csoc.recv(1024)
print(buffer_byte.decode())
csoc.close()
soc.close()

"""=============================================================="""
"""
http(response)响应
    响应格式:响应行,响应头,空行,响应体
    1.响应行:反馈最基本的情况
        HTTP/1.1    200     OK
        版本信息    响应码    附加信息
        响应码:
            1xx  提示信息。表示请求被接收
            2xx  响应成功
            3xx  响应需要进一步操作,重定向
            4xx  客户端错误
            5xx  服务器错误
    2.响应头:对响应信息的描述(数据是什么格式,那个服务器给你的,什么时候给你的)
        Content-Type:text/html
    3.空行
    4.响应体:响应的主题内容信息
"""

import socket
# 创建tcp套接字
soc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 服务器地址
server_addr = ('127.0.0.1', 9091)
# 绑定服务器地址
soc.bind(server_addr)
# 开启监听
soc.listen(5)
# 等待连接
client, caddr = soc.accept()
# 接收客户端请求信息
buffer_byte = client.recv(1024)
# 打印收到的信息
print(buffer_byte)
# 响应的内容
response = """HTTP/1.1 200 OK
Content-Type:text/html

Hello World
"""
# 给客户端发送响应的内容
num = client.send(response.encode())
# 关闭套接字
soc.close()
client.close()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python http的请求和响应 的相关文章

随机推荐

  • c++ setprecision用法详解

    c 43 43 setprecision用法详解 可以通过使用 setprecision 操作符来控制显示浮点数值的有效数字的数量 span class token macro property span class token direc
  • VScode+Remote-SSH 实现远程连接LINUX

    目录 VIM编辑器SSH 43 SFPT方法VScode 43 Remote SSH插件配置方法安装Remote SSH插件连接服务器免密登录效果展示 VIM编辑器 从VIM编辑器说起 xff0c 总所周知 xff0c vim编辑器是最难用
  • ubuntu docker配置cuda+anaconda+vscode+tensorflow环境的镜像

    ubuntu docker配置cuda 43 anaconda 43 vscode 43 tensorflow环境 docker 安装docker基本操作查看镜像删除镜像官方镜像 容器基本操作从镜像启动容器列出所有容器终止容器启动容器删除容
  • 查看linux节点gpu显存使用情况

    我们在使用公共节点时经常要看每个节点的使用情况 xff0c 本文可以解决逐个连接才能查看的问题 nvidia smi query gpu span class token operator 61 span memory free memor
  • vnc连接远程服务器中docker容器的桌面

    安装vnc 参考这个 通过VNC搭建Ubuntu 18 04和20 04图形界面 https help aliyun com document detail 59330 html 用下面这段话替换 vnc xstartup vim vnc
  • VNC连接远程主机中docker容器的桌面-转载

    启用新终端 xff0c 讲远程主机映射到本地主机 xff1a ssh L 5901 172 17 0 2 5901 zhl 64 192 168 2 104 进入容器 xff1a docker span class hljs built i
  • chatgpt-4生成代码,看这一篇就够了

    chatgpt 4生成代码 xff0c 看这一篇就够了 cursor示例pythondbscan 聚类voronoi 图像分割手写数字识别圆柱绕流 matlab表白程序常微分方程常微分方程组2048小游戏 C C 43 43 正则表达式匹配
  • 深度学习基础之归一化

    文章目录 一 归一化的含义二 归一化的作用三 归一化的类型1 线性归一化2 零 均值规范化 xff08 z score标准化3 小数定标规范化4 非线性归一化 四 归一化理解1 归一化能提高求解最优解速度2 3D 图解未归一化 五 局部响应
  • 文心一言 内测体验

    文心一言 申请内测弱智吧经典问题陨石为什么每次都能精准砸到陨石坑 xff1f 我想配个6000多的电脑 xff0c 大概要多少钱 xff1f 为什么我爸妈结婚的时候没邀请我参加婚礼 xff1f 我买了一斤藕 xff0c 为什么半斤都是空的
  • 基于chatgpt4生成修改OpenFOAM CFD参数的脚本

    基于chatgpt 4生成代码 xff0c 看这一篇就够了 保密需求部分程序数据脱敏处理 shell脚本 自动改参数 改进版 xff0c 可以自动搜索对应参数进行修改 代码主体由chatgpt 4 cursor软件生成 xff0c 本人稍作
  • OpenFOAM的vtk流场文件的Python后处理脚本-以统计轴向固含率为例

    实现了用python处理OpenFOAM生成的vtk流场文件的脚本 1 流场生成vtk文件 xff0c reconstructPar xff0c foamToVTK ascii 结果放在 VTK文件夹下 2 运行后处理脚本 xff0c 目前
  • Kalibr使用

    1 imu标定 xff08 这个没有具体做 xff09 xff08 我的理解是 将imu utils code utils和Kalibr放在一个kalibr ws下 xff09 imu utils下载地址为 xff1a https gith
  • ROS安装——rosdep init、rosdep update失败解决方案

    综述 按照ROS官方论坛的步骤 xff0c 安装ROS的最后几个步骤是 sudo rosdep init rosdep update 但是偶尔因为网络问题出现失败的问题 xff0c 本文记录本人在安装ROS过程中的解决方法 sudo ros
  • AC源码

    字符串算法 一级目录 一级目录 下面展示一些 内联代码片 关于aoti函数的实现 xff1a 1 xff1a 空白符 2 xff1a 正号和负号 3 xff1a 关于进制 xff1a 4 xff1a 溢出的问题 xff1b 用到库函数 xf
  • FreeRtos使用注意(基础知识)

    关于中断 NVIC PriorityGroupConfig NVIC PriorityGroup 4 中断优先级设置为0 15级抢占优先级 xff0c 0子优先级 这个也是官方强烈建议的 其中中断优先级0 15级 xff0c 0的优先级是最
  • 【点云数据集】

    点云数据集汇总整理 1 点云分类和分割 1 1 ModelNet40 xff08 点云分类 xff09 普林斯顿 ModelNet 项目的目标是为计算机视觉 计算机图形学 机器人学和认知科学领域的研究人员提供全面 干净的对象 3D CAD
  • ROS下UWB串口数据读取,并以话题的形式发布

    ROS串口读取UWB定位数据 xff0c 以话题的形式发布 include span class token operator lt span ros span class token operator span ros span clas
  • ubuntu环境下启动rosrun rqt_tf_treerqt_tf_tree出现错误的问题

    ubuntu下安装anconda3后启动rqt tf tree会报错 xff0c 信息为 xff1a 原因是安装rospy使用的是python2 但是anconda会把系统的python设置成python3 做法是在不改变anconda安装
  • 上层应用开发是否真的没有底层开发有前途?

    首先明确什么是底层开发 xff0c 这个界限很难划分 xff0c 有人说搞音视频底层编解码就是底层了 xff0c 但是我们看来不是这样 xff0c 下面还有rom中音视频模块 xff0c 再下面还有driver xff0c 最后到物理硬件
  • python http的请求和响应

    span class token triple quoted string string 34 34 34 http请求 请求行和空行是必须要有的 xff0c 请求体和请求头可以没有 请求格式 xff1a 请求行 xff0c 请求头 xff