当前位置: 首页 > news >正文

http post协议发送本地压缩数据到服务器

1.客户端程序

import requests
import os
# 指定服务器的URL
url = "http://192.168.1.9:8000/upload"# 压缩包文件路径
folder_name = "upload"
file_name = "test.7z"
headers = {'Folder-Name': folder_name,'File-Name': file_name
}
# 发送POST请求,并将压缩包作为文件上传
with open(file_name, 'rb') as file:response = requests.post(url, data=file,headers=headers)
# 检查响应状态码
if response.status_code == 200:print("文件上传成功!")
else:print("文件上传失败!")
os.system('pause')

在这里插入图片描述
在这里插入图片描述

2.服务端程序

from http.server import BaseHTTPRequestHandler, HTTPServer
import os
# Define the request handler class
class MyRequestHandler(BaseHTTPRequestHandler):def do_GET(self):# Send response status codeself.send_response(200)# Send headersself.send_header('Content-type', 'text/html')self.end_headers()path = self.pathif path == '/':response_content = b'Hello, world!'elif path == '/about':response_content = b'This is the about page.'else:response_content = b'Page not found.'# Send response contentself.wfile.write(response_content)def do_POST(self):client_address = self.client_address[0]client_port = self.client_address[1]print("client from:{}:{}".format(client_address,client_port))path = self.pathprint(path)if path == '/upload':content_length = int(self.headers['Content-Length'])print(self.headers)filename = self.headers.get('File-Name')foldname = self.headers.get('Folder-Name')#print(filename)#print(foldname)# 如果目录不存在,创建目录os.makedirs(foldname, exist_ok=True)filename = os.path.join(foldname, filename)print(filename)# 读取请求体中的文件数据file_data = self.rfile.read(content_length)# # 保存文件with open(filename, 'wb') as file:file.write(file_data)# 发送响应self.send_response(200)self.end_headers()self.wfile.write(b'File received and saved.')else:self.send_response(404)self.end_headers()
# Specify the server address and port
host = '192.168.1.9'
port = 8000# Create an HTTP server instance
server = HTTPServer((host, port), MyRequestHandler)
print("Server started on {}:{}".format(host,port))# Start the server and keep it running until interrupted
server.serve_forever()

在这里插入图片描述
在这里插入图片描述

相关文章:

http post协议发送本地压缩数据到服务器

1.客户端程序 import requests import os # 指定服务器的URL url "http://192.168.1.9:8000/upload"# 压缩包文件路径 folder_name "upload" file_name "test.7z" headers {Folder-Name: folder_name,File-Name: file_name } # 发送POST请求…...

系列十三、Redis的哨兵机制

一、概述 Sentinel(哨兵)是Redis的高可用解决方案,由一个或者多个Sentinel实例组成集群,可以监视任意多个主服务器,以及这些服务器下属的所有从服务器,并在被监视的主服务器下线或者宕机时,自动…...

设置Unity URP管线中的渲染开关

在上一节中,我们添加了外轮廓线,但这个外轮廓线在所有使用该Shader的网格上是始终存在的。 如果我们想做一个开关,决定是否打开外轮廓线时,我们可以使用一个新的Uniform bool值,然后判断bool是否为true来开启外轮廓线…...

神器抓包工具 HTTP Analyzer v7.5 的下载,安装,使用,破解说明以及可能遇到的问题

文章目录 1、HTTP Analyzer 工具能干什么?2、HTTP Analyzer 如何下载?3、如何安装?4、如何使用?5、如何破解?6、Http AnalyzerStd V7可能遇到的问题 1、HTTP Analyzer 工具能干什么? A1:HTTP A…...

虚幻引擎:代理

一、代理类型 1.单薄代理 特点:允许有返回值,允许有参数,只可以一对一的传递消息就算绑定多个,但是总会被最后一个覆盖 2.多播代理 特点:不允许有返回值,允许有参数允许一对多传递消息 3.动态代理 …...

Openssl数据安全传输平台004:Socket C-API封装为C++类 / 服务端及客户端代码框架和实现

文章目录 0. 代码仓库1. 客户端C API2. 客户端C API的封装分析2.1 sckClient_init()和sckClient_destroy()2.2 sckClient_connect2.3 sckClient_closeconn()2.4 sckClient_send()2.5 sckClient_rev()2.6 sck_FreeMem 3. 客户端C API4. 服务端C API5. 服务端C6. 客户端和服务端代…...

网络协议--Traceroute程序

8.1 引言 由Van Jacobson编写的Traceroute程序是一个能更深入探索TCP/IP协议的方便可用的工具。尽管不能保证从源端发往目的端的两份连续的IP数据报具有相同的路由,但是大多数情况下是这样的。Traceroute程序可以让我们看到IP数据报从一台主机传到另一台主机所经过…...

Centos磁盘问题小纪

场景说明 放个windows的图片镇楼,在给一个centos的来说明问题,咋了,好好的系统,啥也不能干了 来先上一波命令分析下问题 查看挂载 mount 重新挂载数据 mount -o remount, rw / 查看磁盘 df -h 查看分区挂载详情 rw读写权限 mount …...

计算机网络第三章习题

1.假定1km长的CSMA/CD网络的数据率为1Gb/s。设信号在网络上的传播 速率为200000km/s。求能够使用此协议的最短帧长. 问题刨析: 逻辑链: 最短帧长数据传输率x争用期2τ(2倍端到端所需要的时间) 题目已经给出数据率为1Gb/s,所以我们要知道争用期2τ是多少. 端到端所需要的时间信…...

Layui弹出层关闭后页面自动刷新的用法以及建议

首先在HTML中定义一个查询按钮 <div class"layui-inline"><button class"layui-btn" id"searchBtn" lay-submit lay-filter"data-search-btn" > <i class"layui-icon layui-icon-search">查询</i&…...

PHP 在线考试管理系统mysql数据库web结构layUI布局apache计算机软件工程网页wamp

一、源码特点 PHP 在线考试管理系统是一套完善的web设计系统 layUI技术布局 &#xff0c;对理解php编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 PHP 在线考试系统1 代码 https://download.csdn.net/download/qq_41…...

【茫茫架构路】1. Class File字节码文件解析

本文所有内容的JDK版本为 OpenJDK 11 JDK11 Class File官方说明。 Java解析字节码文件源码参考&#xff0c;以下为部分字节码解析源码展示。 public ClassFile(DataInputStream in) {try {//magic: 0xCAFEBABEthis.magic ClassReader.readInt(in);System.out.println("m…...

Golang笔记

01 = 和 := 的区别? 前者是赋值变量,后者是定义变量 02 指针的作用 指针指向变量的地址,在64位机器上占8个字节 【1 字节(Byte)= 8 位(bit) 1 千字节(KB,Kilobyte)= 1,024 字节(2^10 字节)】 作用 取址然后取值swap函数 交换变量的值指针接收器来改变结构体里面…...

在Linux上安装RStudio工具并实现本地远程访问【内网穿透】

文章目录 前言1. 安装RStudio Server2. 本地访问3. Linux 安装cpolar4. 配置RStudio server公网访问地址5. 公网远程访问RStudio6. 固定RStudio公网地址 前言 RStudio Server 使你能够在 Linux 服务器上运行你所熟悉和喜爱的 RStudio IDE&#xff0c;并通过 Web 浏览器进行访问…...

leetcode 128. 最长连续序列

2023.10.23 本题思路&#xff1a;遍历所有元素&#xff0c;对当前元素num进行查找&#xff1a;有无元素(num1)、有无元素(num2)......若有则继续查找下去&#xff0c;同时记录最大序列长度&#xff0c;无则遍历下一个元素。 考虑到数组中可能有重复元素需要去重&#xff0c;并且…...

k8s-----4、yaml文件,做资源编排和资源对象部署

yaml文件 1、YAML 文件概述2、YAML 文件书写格式3、资源清单描述方法4、yaml文件编写4.1 没有真正部署资源的过程4.2 资源已经存在的时候 5、yaml文件中必须存在的属性 1、YAML 文件概述 k8s 集群中对资源管理和资源对象编排部署都可以通过声明样式&#xff08;YAML&#xff0…...

proteus中仿真arduino的水位测试传感器

一、原理介绍 我们这里使用的水位传感器&#xff0c;只能说是一个小实验用途的水位传感器。我们首先上图 如上图所示&#xff0c;线没有连接&#xff0c;传感器由许5对裸露在外的铜线片作为传感部分&#xff0c;当浸入水中时这些铜线片会被水桥接。 这些被水连接起来的铜线&a…...

设计模式-单例模式 (Singleton)

单例模式 &#xff08;Singleton&#xff09; 单例模式是一种创建型设计模式&#xff0c;它确保类只有一个实例&#xff0c;并提供了一种访问该实例的全局方法。这种模式有助于确保系统中的某些组件只有一个实例&#xff0c;并提供了一种方便的方法来访问该实例。 1、单例类只…...

程序包org.apache.ibatis.mapping不存在 符号找不到

找不到符号 符号: 类 Cursor和程序包org.apache.ibatis.mapping不存在 在idea中没有错误&#xff0c;但是在linux编辑时报了这两个错误&#xff0c;之前有遇见过符号找不到的问题&#xff0c; 当时的问题是编译的import xxx.xxx.xxx.* 识别不成功过&#xff0c;将*改为…...

Microsoft Edge浏览器中使用免费的ChatGPT

一、双击打开浏览器 找到&#xff1a;扩展&#xff0c;打开 二、打开Microsoft Edge加载项 三、Move tab新标签 获取免费ChatGPT 四、启用Move tab。启用ChatGPT。 扩展 管理扩展 启用 五、新建标签页&#xff0c;使用GPT 六、使用举例 提问 GPT回复...

FastAPI项目半夜报警吵醒你?聊聊告警这事儿怎么搞!囤

Issue 概述 先来看看提交这个 Issue 的作者是为什么想到这个点子的&#xff0c;以及他初步的核心设计概念。?? 本 PR 实现了 Apache Gravitino 与 SeaTunnel 的集成&#xff0c;将其作为非关系型连接器的外部元数据服务。通过 Gravitino 的 REST API 自动获取表结构和元数据&…...

Maomi.In | .NET 全能多语言解决方案碳

AI Agent 时代的沙箱需求 从 Copilot 到 Agent&#xff1a;执行能力的质变 在生成式 AI 的早期阶段&#xff0c;应用主要以“Copilot”形式存在&#xff0c;AI 仅作为辅助生成建议。然而&#xff0c;随着 AutoGPT、BabyAGI 以及 OpenAI Code Interpreter&#xff08;现为 Advan…...

FAST-LIO状态更新核心:Boxplus与Boxminus操作详解与避坑指南

FAST-LIO状态更新核心&#xff1a;Boxplus与Boxminus操作详解与避坑指南 在SLAM和VIO领域&#xff0c;FAST-LIO因其高效的流形上滤波算法而备受关注。对于正在实现或优化这类算法的工程师来说&#xff0c;理解状态更新中的"广义加法"&#xff08;boxplus&#xff09;…...

液压剪切机的设计(论文+CAD图纸+开题报告+翻译……)

液压剪切机是金属加工领域的重要设备&#xff0c;其核心作用在于通过液压系统驱动剪切刃口&#xff0c;实现对金属板材、型材等材料的高效精准切割。相较于传统机械剪切方式&#xff0c;液压驱动具备力量大、冲击小、运行平稳的特点&#xff0c;尤其适用于高强度材料的加工需求…...

SDMatte与Python爬虫结合实战:自动化素材采集与背景抠图

SDMatte与Python爬虫结合实战&#xff1a;自动化素材采集与背景抠图 1. 场景痛点与解决方案 电商运营和内容创作者每天都要处理大量图片素材——商品主图需要统一白底、社交媒体配图要去除杂乱背景、广告海报要精准抠图。传统工作流程存在三大痛点&#xff1a; 素材获取效率…...

原神抽卡数据分析终极指南:如何使用genshin-wish-export免费导出你的祈愿记录

原神抽卡数据分析终极指南&#xff1a;如何使用genshin-wish-export免费导出你的祈愿记录 【免费下载链接】genshin-wish-export Easily export the Genshin Impact wish record. 项目地址: https://gitcode.com/GitHub_Trending/ge/genshin-wish-export 你是否曾经在原…...

Emotional First Aid Dataset:破解AI心理陪伴技术瓶颈的20,000条高质量对话语料库

Emotional First Aid Dataset&#xff1a;破解AI心理陪伴技术瓶颈的20,000条高质量对话语料库 【免费下载链接】efaqa-corpus-zh ❤️Emotional First Aid Dataset, 心理咨询问答、聊天机器人语料库 项目地址: https://gitcode.com/gh_mirrors/ef/efaqa-corpus-zh 在心理…...

LeetCode--28.找出字符串中第一个匹配项的下标(字符串/KMP算法)

28.找出字符串中第一个匹配项的下标 题目描述 给你两个字符串 haystack 和 needle &#xff0c;请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标&#xff08;下标从 0 开始&#xff09;。如果 needle 不是 haystack 的一部分&#xff0c;则返回 -1 。 示例 1&…...

LingBot-Depth在AR/VR中的应用:快速获取场景深度,开发更简单

LingBot-Depth在AR/VR中的应用&#xff1a;快速获取场景深度&#xff0c;开发更简单 1. AR/VR开发中的深度感知挑战 在增强现实(AR)和虚拟现实(VR)应用开发中&#xff0c;准确获取场景深度信息是核心技术挑战之一。传统深度获取方式通常面临以下问题&#xff1a; 硬件依赖&a…...

终极指南:5分钟用AKShare构建你的第一个金融数据自动化分析系统

终极指南&#xff1a;5分钟用AKShare构建你的第一个金融数据自动化分析系统 【免费下载链接】akshare AKShare is an elegant and simple financial data interface library for Python, built for human beings! 开源财经数据接口库 项目地址: https://gitcode.com/gh_mirro…...