底层网络通信协议使用的是套接字,当我们需要进行文件传输、阅读、发送接收电子邮件时,使用的协议与套接字的客户端/服务器端相似,唯一去的区别在于使用TCP/IP这样的底层的协议创建了新的、有专门用途的协议,以此来实现刚刚介绍的服务。
包括:
主要用于匿名下载公共文件,也可用于两台计算机之间传输文件。FTP要求输入用户名和密码才能访问远程FTP服务器,但也允许用户匿名登录,匿名登录的用户名为“anonymous”,密码一般是用户的电子邮件地址。匿名登录只能使用有限的几个FTP命令。
工作流程如下:
在底层,FTP只使用TCP,而不使用UDP。客户端和服务器都使用两个套接字来通信:一个是控制和命令端口(21号端口),另一个是数据端口(有时候是20号端口)。
之所以说是有时候,是因为FTP有两种模式:主动和被动。主动模式下,服务器才使用20号端口为数据端口,并“主动”连接客户端的数据端口。在被动模式下,服务器只是告诉客户端随机的数据端口号,客户端必须主动建立数据连接。
导入ftplib模块→实例化一个ftplib.FTP对象。所有的FTP操作都使用这个对象完成。
方法 | 描述 |
---|---|
login(用户名,密码等) | 登录ftp服务器 |
pwd() | 获得当前工作目录 |
cwd(路径) | 设置当前工作目录 |
dir(路径) | 显示目录中的内容 |
nlst(路径) | 与dir类似,但是返回的是包含文件名的列表 |
retrlines(cmd命令) | 给定FTP命令,用于下载文本文件。 |
retrbinary(cmd命令) | 与retrlines类似,只用来处理二进制文件 |
storlines(cmd命令,文件对象) | 给定FTP命令,用来上传文本文件 |
storbinary(cmd命令,文件对象) | 与strolines相似,只用来处理二进制文件 |
rename(旧文件名,新文件名) | 重命名 |
delete(路径) | 删除位于 路径 的远程文件 |
mkd(目录) | 创建远程目录 |
rmd(目录) | 删除远程目录 |
quit() | 关闭连接并退出 |
Usenet新闻系统是一个全球存档的“电子公告板”。整个系统是一个由大量计算机组成的庞大的全球网络,计算机之间共享Usenet上的帖子。
用户使用网络新闻传输协议(NNTP)在新闻组中下载或发表帖子。在FTP中,登录、传输和控制需要使用不同的端口,而NNTP只使用一个标准端口119来通信。
有一个nntplib库和一个需要实例化的nntplib.NNTP类。
一般来说,登陆后需要调用group()方法来选择一个感兴趣的新闻组。该方法返回服务器的回复、文章数量、第一篇和最后一篇文章的ID、新闻组的名称。
见链接:https://docs.python.org/3/library/nntplib.html#methods
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有