目录

FTP 概述

FTP 服务器搭建

FTP 服务器设置

连接 FTP 服务器

浏览器访问 FTP 服务器

windows 网络访问 FTP 服务器

FTP 程序代码访问服务器

虚拟目录使用介绍


FTP 概述

1、FTP(File Transfer Protocol)---用于 Internet 上控制文件的双向传输的文件传输协议

2、FTP "下载"(Download)是从远程主机(FTP服务器)拷贝文件到自己的计算机(FTP客户端)上

3、FTP "上传"(Upload)是将文件从自己的计算机(FTP客户端)中拷贝至远程主机(FTP服务器)上

一:FTP 服务器

1、简单地说,支持 FTP 协议的服务器都是 FTP 服务器。

2、与大多数 Internet 服务一样,FTP 也是一个客户机 / 服务器系统。用户通过一个支持 FTP 协议的客户机程序,连接到在远程主机上的 FTP 服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。

3、例如:用户发出一条命令,要求服务器向用户传送某一个文件的一份拷贝,服务器会响应这条命令,将指定文件送至用户的机器上,客户机程序代表用户接收到这个文件,将其存放在用户目录中。

4、Windows 系统本身自带 FTP 服务,用户可以手动开启然后进行设置,即可使用 FTP 客户端进行连接使用,同时也可以自己下载 FTP 服务器软件进行安装

5、Linux 系统中常用的 FTP 服务器就是 VSFtpd

二:匿名 FTP

1、使用 FTP 时首先必须登录,在远程主机上获得相应的权限以后,方可下载或上传文件。

2、非匿名 FTP 要想与哪一台计算机传送文件,就必须有登录账号与密码,否则便无法传送文件。

3、匿名 FTP 无需客户端指定 FTP 服务器账号密码,只需要 FTP 服务器管理员设置好匿名以及相应权限即可

4、通常情况下,为了安全,远程主机提供匿名 FTP 服务时,会指定某些目录向公众开放,允许匿名存取,系统中的其余目录则处于隐匿状态,允许用户从其下载文件,而不允许用户向其上传文件,

5、即使有些匿名 FTP 主机确实允许用户上传文件,用户也只能将文件上传至某一指定上传目录中,随后,可能系统管理员会去检查这些文件,会将这些文件移至另一个公共下载目录中,供其他用户下载,利用这种方式,远程主机的用户得到了保护,避免了有人上传有问题的文件,如带病毒的文件。

6、如果服务器开启了匿名登录功能,则FTP客户端可以使用匿名登录,此时账号使用 "Anonymous",密码为空即可

FTP 服务器搭建

1、Windows 本身是已经自带了 FTP 服务的,只是默认是关闭的,如果需要使用,只要开启即可,经过实测性能还是很好的,本文就讲解这种方式。

2、当然也可以下载其它的 FTP 服务器软件进行安装,如 FileZilla 等。

一:FTP 服务器安装

1、控制面板 - >程序 - > 启用或关闭 WIndows 功能:

java 连接多台ftp_虚拟目录

2、勾选“FTP服务”、“FTP扩展性”、"IIS管理控制台",然后点击确定,就会自动进行安装:

java 连接多台ftp_客户端_02

java 连接多台ftp_虚拟目录_03

3、安装完成之后,找到桌面的“计算机”——>右击,选择“管理”,进入“计算机管理”,以后 FTP 服务端的操作都是在下面的“Intenet Information Service” 中进行:

java 连接多台ftp_服务器_04

4、安装成功后,服务中也会多一项 "Microsoft FTP Service" 服务:

java 连接多台ftp_java 连接多台ftp_05

FTP 服务器设置

1、先走一个完整的设置,为用户 ftpChina 开放服务器下的 E:\gxg\resources 目录,为它提供读写的功能

一:创建用户

1、通常情况下,为了安全性考虑不建议使用匿名登录,最好专门为 FTP 连接操作设置新账号密码。

2、同理在 “计算机管理” 中进行创建用户即可

java 连接多台ftp_虚拟目录_06

java 连接多台ftp_java 连接多台ftp_07

添加 FTP 站点

java 连接多台ftp_客户端_08

IP 地址(A):选择服务器的 IP 地址,建议为 静态 IP,否则如果 IP 经常变化,客户端会连接失败

端口(O):设置 FTP 服务器站点端口,默认 21,可以自己修改,如果有多个 FTP 站点,必须确保端口互不重复。

SSL:SSL 是一种安全机制,可以使服务器上的账号与密码加密传输,防止被人嗅探,为了简单就使用 "无SSL"了。

java 连接多台ftp_虚拟目录_09

身份认证:如果勾选“匿名”,则不需要再指定用户,FTP 客户端直接免密登录

授权:即授权本机上的某些用户,有指定用户、匿名用户、所有用户、指定角色或用户组 等。

权限:字面意思已经很清楚了

java 连接多台ftp_客户端_10

java 连接多台ftp_服务器_11

连接 FTP 服务器

1、连接 FTP 服务器有很多种方式,可以使用 FTP 客户端,如 ftpChina、XFTP;或者使用浏览器连接;也可以直接从 Windows 网络访问

2、这里使用 XFTP 工具进行连接

java 连接多台ftp_客户端_12

3、如下所示,连接完全没有问题,可以通过 XFTP 上传下载文件,或者直接删除服务器上的文件与新建文件等。

java 连接多台ftp_虚拟目录_13

浏览器访问 FTP 服务器

1、ftp 与 http 一样都是互联网协议,所以同意可以使用浏览器进行访问

java 连接多台ftp_虚拟目录_14

2、如下所示:文件读取同样可以

java 连接多台ftp_java 连接多台ftp_15

windows 网络访问 FTP 服务器

1、有点类似 浏览器访问,在 windows 资源管理器中输入:ftp://ftp服务器ip ,然后回车输入账号密码即可

java 连接多台ftp_服务器_16

java 连接多台ftp_服务器_17

FTP 程序代码访问服务器

1、很多时候需要自己的应用中进行 FTP 文件的上传下载等操作,编程语言基本都会提供这样的功能,如 Java 就有常用的 Apache 的 commons net 进行 FTP 操作,可以参照《 Apache Commons Net 实现 FTP 上传下载

虚拟目录使用介绍

一:需求分析

1、假如 FTP 服务器上要同时将多个目录提供给同一个用户进行 FTP 访问,比如:D:/abc、E:/test、F:/home 目录等等。

2、解决方式之一:将三个目录合为一个目录,这样只需要提供一个物理路径供用户访问

3、解决方式之二:为每一个目录都设置一个 FTP 站点(每一个站点的端口不能相同),客户端分开访问即可

4、解决方式之三:使用虚拟目录来指向实际的物理目录

二:添加虚拟目录

1、只需要在已经配置好的 FTP 站点上添加虚拟目录即可:

java 连接多台ftp_虚拟目录_18

java 连接多台ftp_客户端_19

三:访问虚拟目录

1、物理哪种方式,访问的时候都要在原来的 FTP 站点路径的基础上加上虚拟目录的别名

2、同理可以设置任意多个虚拟目录来执行实际的物理目录

java 连接多台ftp_客户端_20