网络编程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…...
【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
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…...
2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...
基于鸿蒙(HarmonyOS5)的打车小程序
1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...
前端开发者常用网站
Can I use网站:一个查询网页技术兼容性的网站 一个查询网页技术兼容性的网站Can I use:Can I use... Support tables for HTML5, CSS3, etc (查询浏览器对HTML5的支持情况) 权威网站:MDN JavaScript权威网站:JavaScript | MDN...
Spring AOP代理对象生成原理
代理对象生成的关键类是【AnnotationAwareAspectJAutoProxyCreator】,这个类继承了【BeanPostProcessor】是一个后置处理器 在bean对象生命周期中初始化时执行【org.springframework.beans.factory.config.BeanPostProcessor#postProcessAfterInitialization】方法时…...
