Atitit ftp概念与ftpclient

目录

1. Concept 1

1.1. Tftp(simple ftp)  sftp   ssh port22 1

1.2. ftp server n  ftp client 1

1.3. 传输方式 1

1.4. FTP的传输有两种方式:ASCII、二进制。 1

1.5. 支持模式FTP支持两种模式:Standard (PORT方式,主动方式),Passive (PASV,被动方式)。 2

2. Other 3

2.1. C:\Windows\System32\ftp.exe 3

2.2. D:\Program Files\Git\usr\bin\sftp.exe 3

2.3. C:\Windows\winsxs\amd64_microsoft-windows-t..-deployment-package_31bf3856ad364e35_6.1.7600.16385_none_bac291589d407fde\TFTP.EXE 3

2.4. Atitit  ftp download upload  sue curl 3

2.5. Atitit java ftp client  sumup apache common net jar 4

3. Other 4

3.1. 命令参数 4

3.1.1. 简介 4

3.2. 传输协议 5

1. Concept

TCP/IP协议中,FTP标准命令TCP端口号为21,Port方式数据端口为20。FTP的任务是从一台计算机将文件传送到另一台计算机,不受操作系统的限制。

1.1. Tftp(simple ftp)  sftp   ssh port22

1.2. ftp server n  ftp client

1.3. 传输方式

1.4. FTP的传输有两种方式:ASCII、二进制。

ASCII传输方式

假定用户正在拷贝的文件包含的简单ASCII码文本,如果在远程机器上运行的不是UNIX,当文件传输时ftp通常会自动地调整文件的内容以便于把文件解释成另外那台计算机存储文本文件的格式。

但是常常有这样的情况,用户正在传输的文件包含的不是文本文件,它们可能是程序,数据库,字处理文件或者压缩文件。在拷贝任何非文本文件之前,用binary 命令告诉ftp逐字拷贝。

二进制传输模式

在二进制传输中,保存文件的位序,以便原始和拷贝的是逐位一一对应的。即使目的地机器上包含位序列的文件是没意义的。例如,macintosh以二进制方式传送可执行文件到Windows系统,在对方系统上,此文件不能执行。

如在ASCII方式下传输二进制文件,即使不需要也仍会转译。这会损坏数据。(ASCII方式一般假设每一字符的第一有效位无意义,因为ASCII字符组合不使用它。如果传输二进制文件,所有的位都是重要的。)

1.5. 支持模式FTP支持两种模式:Standard (PORT方式,主动方式),Passive (PASV,被动方式)。

Port模式

FTP 客户端首先和服务器的TCP 21端口建立连接,用来发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。FTP server必须和客户端建立一个新的连接用来传送数据。

Passive模式

建立控制通道和Standard模式类似,但建立连接后发送Pasv命令。服务器收到Pasv命令后,打开一个临时端口(端口号大于1023小于65535)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口传送数据。

很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口;而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。

2. Other

2.1. C:\Windows\System32\ftp.exe

2.2. D:\Program Files\Git\usr\bin\sftp.exe

2.3. C:\Windows\winsxs\amd64_microsoft-windows-t..-deployment-package_31bf3856ad364e35_6.1.7600.16385_none_bac291589d407fde\TFTP.EXE

2.4. Atitit  ftp download upload  sue curl

CURL授权

在访问需要授权的页面时,可通过-u选项提供用户名和密码进行授权

1 curl -u username:password URL2 3 # 通常的做法是在命令行只输入用户名,之后会提示输入密码,这样可以保证在查看历史记录时不会将密码泄露4 curl -u username URL

从FTP服务器下载文件

CURL同样支持FTP下载,若在url中指定的是某个文件路径而非具体的某个要下载的文件名,CURL则会列出该目录下的所有文件名而并非下载该目录下的所有文件

1 # 列出public_html下的所有文件夹和文件2 curl -u ftpuser:ftppass -O ftp://ftp_server/public_html/3 4 # 下载xss.php文件5 curl -u ftpuser:ftppass -O ftp://ftp_server/public_html/xss.php

上传文件到FTP服务器

通过 -T 选项可将指定的本地文件上传到FTP服务器上

# 将myfile.txt文件上传到服务器

curl -u ftpuser:ftppass -T myfile.txt ftp://ftp.testserver.com

# 同时上传多个文件

curl -u ftpuser:ftppass -T "{file1,file2}" ftp://ftp.testserver.com

# 从标准输入获取内容保存到服务器指定的文件中

curl -u ftpuser:ftppass -T - ftp://ftp.testserver.com/myfile_1.txt

2.5. Atitit java ftp client  sumup apache common net jar

1.1. 协议解析 1

1.2. 读取文件 1

2. } 3

1. 下载文件   ftpClient.retrieveFile("/home/cnhis/managerweb/webapps/webcon/cpu.htm", new FileOutputStream(new File(pathname))); 3

2.1. 上传 4

3. Other

3.1. 命令参数

3.1.1. 简介

1.FTP服务器的登陆

匿名用户:FTP 口令:FTP

用户:ANONYMOUS 口令:任何电子邮件

2.显示文件信息:DIR/LS

3.下载文件:GET 文件名(下载到当前目录)

4.上传文件:PUT 文件名

5.多文件下载:MGET

6.多文件上传:MPUT

7.退出:BYE

8.帮助:HELP

3.2. 传输协议

FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理,就像MIME或Unicode一样。但是,FTP有着极高的延时,这意味着,从开始请求到第一次接收需求数据之间的时间,会非常长;并且不时的必须执行一些冗长的登陆进程。

ftp(文件传输协议)_百度百科.html

Atitit ftp概念与ftpclient 目录 1. Concept 1 1.1. Tftp(simple ftp) sftp ssh port22 1 1.2. ftp server相关推荐

  1. FTP上传下载及FTP不支持中文目录解决方法

    直接上代码: ftp上传文件. /** * 上传文件到ftp服务器 * @param host ftp服务器ip地址 * @param port ftp服务器端口号 * @param username ...

  2. Apache Ftp客户端工具FtpClient

    引入依赖 <dependency><groupId>commons-net</groupId><artifactId>commons-net</a ...

  3. FTP服务器软件 虚拟目录,FTP服务器软件 虚拟目录

    FTP服务器软件 虚拟目录 内容精选 换一换 本工具仅适用于开发和测试环境.安装Java性能分析之前,请参照表1确认用于安装的系统运行环境是否符合要求.Java性能分析相关的依赖软件包如表2所示.依赖 ...

  4. ftp 访问mysql6,RedHat6.5开启ftp访问已有目录方法

    RedHat6.5开启ftp访问已有目录方法 1. 先用rpm -qa| grep vsftpd命令检查是否已经安装,如果ftp没有安装,先下载对应的rpm包,然后执行如下命令:[注:不同版本系统安装 ...

  5. Atitit保证架构超前性 前瞻性 目录 第一章 简单抽象原则 道和术的区别 1 第一节 原则 kiss 1 第二节 提升到层次哲学层次 1 第三节 命名也要通用抽象 隐藏细节 1 第二章 通用性原

    Atitit保证架构超前性 前瞻性 目录 第一章 简单抽象原则 道和术的区别 第一节 原则 kiss 第二节 提升到层次哲学层次 第三节 命名也要通用抽象 隐藏细节 第二章 通用性原则  扩展性 第一 ...

  6. Atitit 职业资格证书分类等级 目录 1. 等级 :初级(五级)、中级(四级)、高级(三级)、技师(二级)和高级技师(一级)。 1 2. 折叠分类 2 2.1. 生产、运输设备操作人员 2 2

    Atitit 职业资格证书分类等级 目录 1. 等级  :初级(五级).中级(四级).高级(三级).技师(二级)和高级技师(一级). 1 2. 折叠分类 2 2.1. 生产.运输设备操作人员 2 2. ...

  7. 在ftp服务器新建虚拟目录,虚拟目录在FTP的设置方法

    FTP服务器设置虚拟目录有什么办法你了解过没有?如果还不清楚的话就看小编为此整理的相关内容吧,主要围绕最常用的两款ftp服务器软件Serv-u与FileZilla Server来讲解. serv_u ...

  8. linux 安装 ftp 以及 将ftp文件下载到指定目录

    1. ftp 的安装 rpm -qa |grep vsftpd 2. 安装命令 yum -y install vsftpd 3.新增FTP用户 useradd -d /home/ftp ftpuser ...

  9. 修改ftp服务器的文件权限设置,ftp服务器修改访问目录权限设置

    ftp服务器修改访问目录权限设置 内容精选 换一换 打开FTP服务器上的文件夹时发生错误,请检查是否有权限访问该文件夹.浏览器设置了FTP防火墙.以设置IE浏览器为例.打开IE浏览器菜单"工 ...

  10. 简述使用ftp进行文件传输时的两种登录方式?它们的区别是什么?常用的ftp文件传输命令是什么?

    简述使用ftp进行文件传输时的两种登录方式?它们的区别是什么?常用的ftp文件传输命令是什么? 参考答案: (1)ftp有两种登录方式:匿名登录和授权登录.使用匿名登录时,用户名为:anonymous ...

最新文章

  1. 唠唠SE的集合-10——Collections工具类
  2. 玩转Win10的45个快捷键
  3. mysql主从同步-问题梳理
  4. 面象对象设计6大原则之三:里氏替换原则
  5. Android-support-v4源码查看
  6. Webpack实战(二):基础配置入门 - webpack-dev-server的介绍与用法
  7. Linux环境CentOS6.9安装配置Elasticsearch6.2.2最全详细教程
  8. 太火!这本 AI 图书微软强推,程序员靠它拿下 50K!
  9. micropython入门教程-如何学习MicroPython MicroPython入门知识
  10. 如何利用C++和libCurl使用OCR SDK
  11. ICMPv6报文详解
  12. [杂谈] 9. C语言中getch()函数
  13. 百度地图+城市联动实现实时触发查询地址
  14. java怎么连接activemq集群_ActiveMQ之集群(主从)搭建-yellowcong
  15. Gos —— 实现线程和进程
  16. 本园的下学期工作计划
  17. Sentry 前端日志上报使用
  18. 一次服务器硬盘损坏修复记录贴(顺便把服务器硬件信息都搞清楚了)
  19. 一级计算机考上安装电脑桌面,仅花190元 轻松给本本升级触摸屏(多图)
  20. GO微服务实战之红包系统

热门文章

  1. python斐波那契数列_python3实现斐波那契数列(4种方法)
  2. mysql几搜索引擎_详细介绍基于MySQL的搜索引擎MySQL-Fullltext
  3. python爬虫的国内外现状_Python3.5多线程爬虫越爬越慢的解决方法
  4. c oracle案例,Oracle 19c CRS重启案例记录
  5. css带三角形的对话框
  6. 微信服务号开发IOS设备js-sdk认证失败问题总结
  7. Oracle中sql相关的命令
  8. CentOS6 修改MySQL编码
  9. oracle技术之浅述当前模式读与一致性读
  10. UML快速指南(摘要)转载