2#使用模块Net::FTP
3useNet::FTP;
4#创建新的FTP连接
5$ftp=Net::FTP->new
6(
7"ftp.cpan.org",
8Timeout=>30
9)ordie"Couldnotconnect.\n";
10#登录用的用户名和密码
11$username='anonymous';
12$password='lvdbing@163.com';
13#登录到FTP服务器
14$ftp->login($username,$password)ordie"Couldnotlogin.\n";
15#切换目录到/pub/CPAN
16$ftp->cwd('/pub/CPAN');
17#指定远程的文件和本地的文件
18$remotefile="CPAN.html";
19$localfile="CPAN.html";
20#使用get方法下载远程文件到本地来
21$ftp->get($remotefile,$localfile)ordie"Couldnotgetremotefile:$remotefile\n";
22#退出FTP服务器
23$ftp->quit;
分析:
1useconstant定义一个常量,本人理解相当与c中的宏定义,格式为useconstantVARNAME=>value
2Net::FTP是一个FTP客户类,在perl中描述一个简单的FTP客户端.它为RFC959命令的子集提供一个接口.FTP是FileTransferProtocol的缩写.它是在网络设备之间传输文件的方法,协议定义一个客户端和服务器.FTP协议允许文件被传输到服务器或者从服务器获取.
方法:new([HOST][,OPTIONS])构造一个新的Net::FTP对象.HOST是被请求FTP连接的远程主机名.HOST是可选的.如果HOST没有给定那么也可能是如下所述的主机选项中传入.OPTIONS传入一个hash,使用key和value对可能的选项有:Host/Firewall/FirewallType/BlockSize/Port/Timeout/Debug/Passive/Hash/LocalAddr
login([LOGIN[,PASSWORD[,ACCOUNT]]])登陆远程FTP服务器
authorize([AUTH[,RESP]])这是一个被一些防火墙ftp代理使用的协议.用来审查用户发出的数据.
site(ARGS)发送一个SITE命令到远程服务器并等待回答,返回应答代码的更多细节
ascii以ASCII的方式传送文件
binary以二进制的模式传送文件
rename(OLDNAME,NEWNAME)在远程FTP服务器上给文件重命名
delete(FILENAME)给服务器发出删除FILENAME的请求
cwd([DIR])尝试改变目录到DIR,如果没有给定目录,则改变目录到root目录
cdup()改变目录到当前目录的父目录
pwd()返回当前目录的完整路径
restart(WHERE)
rmdir(DIR[,RECURSE])
mkdir(DIR[,RECURSE])
alloc(SIZE[,RECORD_SIZE])
ls([DIR])
……