当前位置: 首页 > 后端技术 > Python

[Python]python网络协议

时间:2023-03-25 20:02:58 Python

socket是一种常见的底层网络通信协议,在此基础上还有很多其他的网络通信协议。用于实现客户端-服务器网络互连。下面简单介绍一下这些协议。1、文件传输FTP:文件传输协议。可以上传或下载文件,采用Unix多用户的概念,用户必须输入有效的用户名和密码才能使用,还支持匿名登录。在底层实现中,FTP只使用TCP,不使用UDP。在主动模式下,使用两个套接字,一个是控制命令端口,另一个是数据端口。被动模式使用套接字作为控制命令接口。客户端工作流程为:连接-登录-传输-结束。python相关模块为ftplib,使用时需要实例化一个ftplib.FTP类对象。典型的FTP客户端包括:命令行客户端程序、GUI客户端程序和网络浏览器。以及自行开发的程序等。HTTP:网页超文本传输??协议。HTTP主要用于下载网页和访问网络服务。它一般不需要用户输入登录用户名和密码来访问服务器上的文件和服务。scp/rsync:要求用户登录服务器,否则无法上传或下载文件。rcp:远程文件复制协议。UUCP:复制协议。2.网络新闻Usenet新闻系统是一个全球存档的电子公告牌,各种主题的新闻一应俱全。整个系统是由大量计算机组成的庞大的全球网络。Usenet上的帖子在计算机之间共享,每个系统都有一个它订阅的新闻组列表。它只接受来自它感兴趣的新闻组的帖子。NNTP:网络新闻传输协议。供用户下载或张贴在新闻组中。仅使用标准端口119进行通信。类似于FTP。python相关模块为nntplib,使用时实例化nntplib.NNTP类对象。3.电子邮件电子邮件系统有很多组件。最基本的组件是邮件传输代理MTA,它是在邮件交换主机上执行的服务器程序。它负责邮件的路由、排队和发送。它们是邮件从源主机传递到目的主机的跳板。SMTP:简单邮件传输协议。Internet上MTA之间的消息交换最常用的MTS,是MTA在发送电子邮件时用于将电子邮件从一台主机传输到另一台主机。此时需要连接到外部SMTP服务器。发送邮件程序是一个SMTP客户端。SMTPserver也因此成为消息的第一跳板。python相关模块为smtplib,使用时实例化smtplib.SMTP类对象。通信时只需要一个port25即可。除了SMTP。还有一些开源MTA,如Sendmail、Postfix和商业MTA,如Microsoft的Exchange。邮件用户代理MUA从服务器下载邮件。用于下载邮件的第一个协议称为邮局协议POP。目的是让用户的工作站可以访问邮箱服务器中的邮件。邮件必须通过SMTP从工作站发送到邮件服务器。POP相关的python模块是poplib,使用时实例化poplib.POP3类对象。几年后,又出现了一项协议。交互式邮件访问协议IMAP比POP更复杂。4、相关模块email:邮件处理包(也支持MIME)rfc822:RFC2822邮件头解析器smtpd:SMTPserverbase64:Base16、32、64数据编码(RFC3548)mhlib:处理MH目录和信息的类mailbox:支持邮箱类用于文件格式解析mailcap:mailcap文件的处理模块mimetools:(不推荐)MIME信息解析工具(使用上面的电子邮件)mimetypes:用于在文件名或URL之间转换为相关MIME类型的模块MimeWriter:(不推荐)MIME信息处理模块(使用上面的email)mimify:(不推荐)信息MIME处理工具(使用上面的email)binascii:二进制和ASCII转换binhex:支持Binhex4编码解码ftplib:FTP协议clientgopherlib:Gopher协议clienthttplib:HTTP和HTTPS协议clientimaplib:IMAP4协议clientnnntplib:NNTP协议clientpoplib:POP3协议clientsmtplib:STMP协议clienttelnetlib:Telnet协议cl特等班