网络编程day3-FTP客户端项目
FTP协议
FTP 的独特的优势同时也是与其它客户服务器程序最大的不同点就在于它在两台通信的主机之间使用了两条 TCP 连接,一条是数据连接,用于数据传送;另一条是控制连接,用于传送控制信息(命令和响应),这种将命令和数据分开传送的思想大大提高了 FTP 的效率,而其它客户服务器应用程序一般只有一条 TCP 连接。在整个交互的 FTP 会话中,控制连接始终是处于连接状态的,数据连接则在每一次文件传送时先打开后关闭
FTP客户端项目
实现功能:
登录
pwd
cd
mkdir
rmdir
delete
bye
ls
put
get
注意:发送的命令要以'\n'结尾,否则服务器无法识别
// 登录[15:06:06] [R] 正在连接到 47.97.229.46 -> IP=47.97.229.46 PORT=21[15:06:06] [R] 已连接到 47.97.229.46[15:06:06] [R] 220 (vsFTPd 3.0.2)// 发送用户名[15:06:06] [R] USER student[15:06:06] [R] 331 Please specify the password.// 发送密码[15:06:06] [R] PASS (hidden)[15:06:06] [R] 230 Login successful.[15:06:06] [R] OPTS UTF8 ON[15:06:06] [R] 200 Always in UTF8 mode.// pwd[15:06:06] [R] PWD[15:06:06] [R] 257 "/home/student"// ls// 开启PASV数据通道[15:06:06] [R] PASV[15:06:06] [R] 227 Entering Passive Mode (172,16,83,85,89,59).[15:06:06] [R] 正在打开数据连接 IP: 47.97.229.46 端口: 22843[15:06:06] [R] LIST -al[15:06:06] [R] 150 Here comes the directory listing.[15:06:06] [R] 226 Directory send OK.// cd[15:06:15] [R] CWD C++2307-1[15:06:15] [R] 250 Directory successfully changed.// mkdir[15:06:30] [R] MKD dir[15:06:30] [R] 257 "/home/student/C++2307-1/dir" created// rmdir[15:06:41] [R] RMD dir[15:06:41] [R] 250 Remove directory operation successful.[15:07:36] [R] TYPE A[15:07:36] [R] 200 Switching to ASCII mode.[15:07:36] [R] SIZE network.h[15:07:36] [R] 213 913[15:07:36] [R] MDTM network.h[15:07:36] [R] 213 20230811033936// get[15:07:36] [R] PASV[15:07:36] [R] 227 Entering Passive Mode (172,16,83,85,97,119).[15:07:36] [R] 正在打开数据连接 IP: 47.97.229.46 端口: 24951[15:07:36] [R] RETR network.h[15:07:36] [R] 150 Opening BINARY mode data connection for network.h (913 bytes).[15:07:36] [R] 226 Transfer complete.// put[15:08:00] [R] PASV[15:08:00] [R] 227 Entering Passive Mode (172,16,83,85,39,64).[15:08:00] [R] 正在打开数据连接 IP: 47.97.229.46 端口: 10048[15:08:00] [R] STOR Linux环境编程day01.c[15:08:00] [R] 150 Ok to send data.[15:08:00] [R] 226 Transfer complete.[15:08:00] [R] MDTM 20230731085722 /home/student/Linux环境编程day01.c[15:08:00] [R] 213 File modification time set.// delete 文件[15:08:15] [R] DELE Linux环境编程day01.c[15:08:15] [R] 250 Delete operation successful.[15:08:15] 已删除 1 个文件 和 0 个文件夹 (11 KB) 耗时 0.03 秒// 上传 断点续传[17:05:52] [R] TYPE I[17:05:52] [R] 200 Switching to Binary mode.[17:05:52] [R] SIZE 20221203_134016.mp4[17:05:52] [R] 550 Could not get file size.[17:05:52] [R] PASV[17:05:52] [R] 227 Entering Passive Mode (172,16,83,85,80,71).[17:05:52] [R] 正在打开数据连接 IP: 47.97.229.46 端口: 20551[17:05:52] [R] STOR 20221203_134016.mp4[17:05:52] [R] 150 Ok to send data.[17:05:57] (软中止 - 发送“ABOR”命令)[17:05:57] [R] 226 Transfer complete.[17:05:57] [R] QUIT[17:05:57] [R] 传输失败: 20221203_134016.mp4[17:05:57] [R] 已注销: 47.97.229.46 (持续时间: 54 秒)[17:05:57] 已传输 0 个文件 (0 字节) 耗时 5 秒 (0.0 KB/s)[17:05:57] 已被用户中止// 续传[17:06:51] [R] TYPE I[17:06:51] [R] 200 Switching to Binary mode.[17:06:51] [R] SIZE 20221203_134016.mp4[17:06:51] [R] 213 26083328[17:06:51] [R] MDTM 20221203_134016.mp4[17:06:51] [R] 213 20230814090557[17:06:51] [R] PASV[17:06:51] [R] 227 Entering Passive Mode (172,16,83,85,132,250).[17:06:51] [R] 正在打开数据连接 IP: 47.97.229.46 端口: 34042[17:06:51] [R] REST 26083328[17:06:51] [R] 350 Restart position accepted (26083328).[17:06:51] [R] STOR 20221203_134016.mp4[17:06:51] [R] 150 Ok to send data.[17:07:03] (软中止 - 发送“ABOR”命令)[17:07:03] [R] 226 Transfer complete.[17:07:04] [R] 传输失败: 20221203_134016.mp4 (50.63 MB / 415.36 MB) 耗时 11 秒 (4.47 MB/s)[17:07:04] 已传输 0 个文件 (0 字节) 耗时 12 秒 (0.0 KB/s)[17:07:04] 已被用户中止[17:07:10] [R] PASV[17:07:10] [R] 227 Entering Passive Mode (172,16,83,85,153,212).[17:07:10] [R] 正在打开数据连接 IP: 47.97.229.46 端口: 39380[17:07:10] [R] LIST -al[17:07:10] [R] 150 Here comes the directory listing.[17:07:10] [R] 226 Directory send OK.[17:07:10] [R] 列表完成: 1 KB 耗时 0.06 秒 (1.9 KB/s)[17:07:14] [R] SIZE 20221203_134016.mp4[17:07:14] [R] 213 79167488[17:07:14] [R] MDTM 20221203_134016.mp4[17:07:14] [R] 213 20230814090704[17:07:14] [R] PASV[17:07:14] [R] 227 Entering Passive Mode (172,16,83,85,134,255).[17:07:14] [R] 正在打开数据连接 IP: 47.97.229.46 端口: 34559[17:07:14] [R] REST 79167488[17:07:14] [R] 350 Restart position accepted (79167488).[17:07:14] [R] STOR 20221203_134016.mp4[17:07:14] [R] 150 Ok to send data.[17:07:23] (软中止 - 发送“ABOR”命令)[17:07:23] [R] 226 Transfer complete.[17:07:24] [R] 传输失败: 20221203_134016.mp4 (42.13 MB / 415.36 MB) 耗时 9 秒 (4.65 MB/s)[17:07:24] 已传输 0 个文件 (0 字节) 耗时 10 秒 (0.0 KB/s)[17:07:24] 已被用户中止
ps:代码晚点附上
相关文章:
网络编程day3-FTP客户端项目
FTP协议 FTP 的独特的优势同时也是与其它客户服务器程序最大的不同点就在于它在两台通信的主机之间使用了两条 TCP 连接,一条是数据连接,用于数据传送;另一条是控制连接,用于传送控制信息(命令和响应)&…...
音频母带制作::AAMS V4.0 Crack
自动音频母带制作简介。 使用 AAMS V4 让您的音乐听起来很美妙! 作为从事音乐工作的音乐家,您在向公众发布材料时需要尽可能最好的声音,而为所有音频扬声器系统提供良好的商业声音是一项困难且耗时的任务。AI掌握的力量! 掌控您…...
【SpringCloud】SpringCloud整合openFeign
文章目录 前言1. 问题分析2. 了解Feign3. 项目整合Feign3.1 引入依赖3.2 添加注解3.3 编写Feign客户端3.4 测试3.5 总结 4. 自定义配置4.1 配置文件方式4.2 Java代码方式 5. Feign使用优化5.1 引入依赖5.2 配置连接池 6. Feign最佳实践6.1 继承方式6.2 抽取方式 前言 微服务远…...
成集云 | 飞书审批同步金蝶云星空 | 解决方案
源系统成集云目标系统 方案介绍 飞书员工报销审批通过后,审批单据内容和审批状态实时同步金蝶云星空 飞书是字节跳动于2016年自研的新一代一站式协作平台,将即时沟通、日历、云文档、云盘和工作台深度整合,通过开放兼容的平台,…...
【计算机组成 课程笔记】3.2 算数运算和逻辑运算的硬件实现
课程链接: 计算机组成_北京大学_中国大学MOOC(慕课) 3 - 2 - 302-门电路的基本原理(11-39--)_哔哩哔哩_bilibili 现代计算机的CPU和其他很多功能部件都是基于晶体管的集成电路,想要了解计算机组成的基本原理,还是需要有…...
python元组的不可变性和应用场景
Python元组是一种不可变的数据类型,也就是说一旦创建后,其元素无法被修改、添加或删除。元组使用圆括号来表示,元素之间使用逗号进行分隔。 以下是创建和访问元组的方法和语法: 创建元组: 使用圆括号直接创建ÿ…...
配置化开发的核心设计 - Schema
前端配置化SchemaServerless FaaS BaaS useImperativeHandle() react-helmet 参考链接 schema进入...
HTTP协议概述
HTTP 协议定义 HTTP协议,直译为超文本传输协议,是一种用于分布式、协作、超媒体的信息系统的应用协议。HTTP协议是万维网数据通信的基础。HTTP协议在客户端-服务器计算模型中充当请求-响应协议。客户端向服务器提交HTTP请求消息。服务器提供HTML文件和其…...
fastjson2 打开 AutoType
1. 功能简介 FASTJSON支持AutoType功能,这个功能在序列化的JSON字符串中带上类型信息,在反序列化时,不需要传入类型,实现自动类型识别。 2. AutoType安全机制介绍 必须显式打开才能使用。和fastjson 1.x不一样,fast…...
封装(个人学习笔记黑马学习)
1、格式 #include <iostream> using namespace std;const double PI 3.14;//设计一个圆类,求圆的周长 class Circle {//访问权限//公共权限 public://属性//半径int m_r;//行为//获取圆的周长double calculateZC() {return 2 * PI * m_r;} };int main() {//通…...
PyTorch 模型性能分析和优化 - 第 3 部分
这[1]是关于使用 PyTorch Profiler 和 TensorBoard 分析和优化 PyTorch 模型主题的系列文章的第三部分。我们的目的是强调基于 GPU 的训练工作负载的性能分析和优化的好处及其对训练速度和成本的潜在影响。特别是,我们希望向所有机器学习开发人员展示 PyTorch Profi…...
【力扣每日一题】2023.9.1 买钢笔和铅笔的方案数
目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 题目给我们三个数,一个是我们拥有的钱,一个是钢笔的价格,另一个是铅笔的价格。 问我们一共有几种买笔…...
实现不同局域网间的文件共享和端口映射,使用Python自带的HTTP服务
文章目录 1. 前言2. 本地文件服务器搭建2.1 python的安装和设置2.2 cpolar的安装和注册 3. 本地文件服务器的发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1. 前言 数据共享作为和连接作为互联网的基础应用,不仅在商业和办公场景有广泛的应用…...
Kubernetes技术--k8s核心技术Pod
(1).概述 Pod 是 k8s 系统中可以创建和管理的最小单元,是资源对象模型中由用户创建或部署的最小资源对象模型。 k8s不会直接处理容器,而是 Pod,Pod 是由一个或多个 container 组成。 一个pod中的容器共享网络命名空间。 Pod是一个短暂存在的。 (2).为什么k8s中最小单元是…...
基于Springboot实现的Echarts图表
概述 ECharts是百度开源的一个前端组件。它是一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等)&…...
adb server version (41) doesn‘t match this client (39)
异常: adb server version (41) doesnt match this client (39); killing... ADB server didnt ACK安装ADB后:查看版本 $ adb version Android Debug Bridge version 1.0.39 Version 1:8.1.1-1r23-5.4-1eagle Installed as /usr/lib/android-sdk/platf…...
B080-RabbitMQ
目录 RabbitMQ认识概念使用场景优点AMQP协议JMS RabbitMQ安装安装elang安装RabbitMQ安装管理插件登录RabbitMQ消息队列的工作流程 RabbitMQ常用模型HelloWorld-基本消息模型生产者发送消息导包获取链接工具类消息的生产者 消费者消费消息模拟消费者手动签收消息 Work QueuesSen…...
关于岛屿的三道leetcode原题:岛屿周长、岛屿数量、统计子岛屿
题1:岛屿周长 给定一个 row x col 的二维网格地图 grid ,其中:gridi 1 表示陆地, gridi 0 表示水域。 网格中的格子 水平和垂直 方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰…...
lintcode 1081 · 贴纸拼单词【hard 递归+记忆化搜索才能通过】
题目 https://www.lintcode.com/problem/1081/ 给出N种不同类型的贴纸。 每个贴纸上都写有一个小写英文单词。 通过裁剪贴纸上的所有字母并重排序来拼出字符串target。 每种贴纸可以使用多次,假定每种贴纸数量无限。 拼出target最少需要多少张贴纸?如果…...
HarmonyOS/OpenHarmony(Stage模型)应用开发单一手势(二)
三、拖动手势(PanGesture) .PanGestureOptions(value?:{ fingers?:number; direction?:PanDirection; distance?:number}) 拖动手势用于触发拖动手势事件,滑动达到最小滑动距离(默认值为5vp)时拖动手势识别成功&am…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
C++.OpenGL (20/64)混合(Blending)
混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...
图解JavaScript原型:原型链及其分析 | JavaScript图解
忽略该图的细节(如内存地址值没有用二进制) 以下是对该图进一步的理解和总结 1. JS 对象概念的辨析 对象是什么:保存在堆中一块区域,同时在栈中有一块区域保存其在堆中的地址(也就是我们通常说的该变量指向谁&…...
