1、HTTP主要用于基于Web的文件下载以及访问Web服务,一般客户端无须登录就可以访问服务器上的文件和服务。大部分HTTP文件传输请求都用于获取网页(即将网页文件下载到本地)。
2、FTP主要用于匿名下载公共文件,也可以用于两台计算机之间传输文件。FTP要求输入用户名和密码才能访问FTP服务器,但也允许没有账号的用户匿名登录。不过管理员要先设置FTP服务器以允许匿名用户登录。这时,匿名用户的用户名是“anonymous”,密码一般是用户的电子邮件地址。
工作流程:
①客户端连接远程主机上的FTP服务器。
②客户端输入用户名和密码(或“anonymous”和电子邮件地址)。
③客户端进行各种文件传输和信息查询操作。
④客户端从远程FTP服务器退出,结束传输。
如果客户端超过15分钟(900秒)还没有响应,FTP连接会超时并中断。在底层,FTP只使用TCP,而不使用UDP。FTP有两种模式:主动和被动。
3、Python和FTP
from ftplib import FTP f = FTP('some.ftp.server') f.login('anonymous','your@email.address') : f.quit()
FTP对象的方法
方法 | 描述 |
login(user='',passwd='') | 登录FTP服务器,所有参数都是可选的 |
cwd(path) | 把当前工作目录设置为path所示的路径 |
dir([path[,...[,cb]]]) | 显示path目录里面的内容,可选参数cb是一个回调函数,会传递给retrlines()方法 |
pwd() | 获取当前工作目录 |
storlines(cmd,f) | 给定FTP命令,用来上传文本文。要给定一个文件对象f |
storbinary() | 与上类似,用来处理二进制文件 |
retrlines(cmd[,cb]) | 给定FTP命令,用来下载文本文件。可选的回调函数cb用于处理文件中的每一行。 |
retrbinary | 处理二进制文件 |
quit() | 关闭连接并退出 |