【Python】python网络协议

套接字是常见的低级别的网络通讯协议,在此基础上,还有许多其它的网络通讯协议,用于实现客户端-服务器的网络互联,下面对这些协议做一个简单的介绍。

1、文件传输

FTP:文件传输协议。可以上传或下载文件,采用了Unix多用户的概念,用户一定要输入有效的用户名和密码才能使用,不过也支持匿名登录。在底层实现上,FTP只使用TCP而不使用UDP,主动模式下使用两个套接字,分别是控制命令端口和数据端口,被动模式下使用一个套接字,为控制命令接口。客户端工作流程为:连接-登录-传输-结束。python相关模块为ftplib,使用时需要实例化一个ftplib.FTP类对象。典型的FTP客户端有:命令行客户端程序、GUI客户端程序、网页浏览器,以及自己开发的程序等。

HTTP:网页的超文本传输协议。HTTP主要用于网页文件的下载和访问Web服务上,它一般不要求用户输入登录的用户名密码就可以访问服务器上的文件和服务。

scp/rsync:要求用户登录到服务器,否则不能上传或下载文件。

rcp:远程文件复制协议。

UUCP:复制协议。

2、网络新闻

Usenet新闻系统是一个全球存档的电子公告版,各种主题的新闻一应俱全,整个系统是一个由大量计算机组成的一个庞大的全球网络,计算机之间共享Usenet上的帖子,每个系统都有一个它已经订阅的新闻组的列表,它只接收它感兴趣的新闻组里的帖子。

NNTP:网络新闻传输协议。供用户在新闻组中下载或发表帖子,只使用一个标准端口119来做通讯。类似于FTP,python相关模块为nntplib,使用时实例化nntplib.NNTP类对象。

3、电子邮件

电子邮件系统有许多组件,最主要的组件就是消息传输代理MTA,这是一个在邮件交换主机上运行的一个服务器程序,它负责邮件的路由、队列和发送工作,它们就是邮件从源主机到目的主机所要经过的跳板。

SMTP:简单邮件传输协议。在因特网上MTA之间用于消息交换的最常用的MTS,它被MTA用来把电子邮件从一台主机传送到另一台主机,在发电子邮件的时候,必须要连接到一个外部的SMTP服务器,这时,发送的邮件程序是一个SMTP客户端,SMTP服务器也因此成为了消息的第一个跳板。python相关模块为smtplib,使用时实例化smtplib.SMTP类对象。通讯时,只要一个端口25

除了SMTP之外,还有一些开源的MTA如Sendmail、Postfix和商业MTA如Microsoft的Exchange。

邮件用户代理MUA从服务器上下载邮件,用于下载邮件的第一个协议叫邮局协议POP,目的是让用户的工作站可以访问邮箱服务器里的邮件,邮件要能从工作站通过SMTP发送到邮件服务器。与POP相关的python模块为poplib, 使用时实例化poplib.POP3类对象。若干年之后,出现了另一个协议,交互式邮件访问协议IMAP,它比POP更为复杂。

4、相关模块

email:email处理的包(也支持MIME)

rfc822:RFC2822邮件头解析器

smtpd:SMTP服务器

base64:Base16、32和64数据编码(RFC 3548)

mhlib:处理MH文件夹和信息的类

mailbox:支持mailbox文件格式解析的类

mailcap:mailcap文件的处理模块

mimetools:(不建议使用)MIME信息解析工具(使用上面的email)

mimetypes:在文件名或URL到相关的MIME类型之间转换的模块

MimeWriter:(不建议使用)MIME信息处理模块(使用上面的email)

mimify:(不建议使用)信息的MIME处理工具(使用上面的email)

binascii:二进制和ASCII转换

binhex:Binhex4编码和解码支持

ftplib:FTP协议客户端

gopherlib:Gopher协议客户端

httplib:HTTP和HTTPS协议客户端

imaplib:IMAP4协议客户端

nntplib:NNTP协议客户端

poplib:POP3协议客户端

smtplib:STMP协议客户端

telnetlib:Telnet协议客户端类

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值