根据前面对网络分层棋型的介绍,我们知道实际的网络模型大致分为四层,这四层各有对应的网络协议提供支持,
网络层协议主要是 IP,它是所有互联网协议的基础,其中 ICMP(Internet Control Message Protocol)、IGMP(Internet Group Manage Protocol)、ARP(Address Resolution Protocol)、RARP(Reverse Address Resolution Protocol)等协议都可认为是 IP 协议族的子协议。通常来说,很少会直接基于网络层进行应用程序编程。
传输层协议主要是 TCP 和 UDP,Python 提供了 socket 等模块针对传输层协议进行编程。
应用层协议就更多了,正如图 1 所示的,FTP、HTTP、TELNET 等协议都属于应用层协议,Python 同样为基于应用层协议的编程提供了丰富的支持。
虽然 Python 自带的标准库已经提供了很多与网络有关的模块,但如果在使用时觉得不够方便,则不要忘记了 Python 的优势,即大量的第三方模块随时可用于增强 Python 的功能。
表 2 显示了 Python 标准库中的网络相关模块。
模块 | 描述 | socket | 基于传输层 TCP、UDP 协议进行网络编程的模块 | asyncore | socket 模块的异步版,支持基于传输层协议的异步通信 | asynchat | asyncore 的增强版 | cgi | 基本的 CGI(Common Gateway Interface,早期开发动态网站的技术)支持 | E-mail 和 MLME 消息处理模块 | ftplib | 支持 FTP 协议的客户端模块 | httplib、http.client | 支持 HTTP 协议以及 HTTP 客户揣的模块 | imaplib | 支持 IMAP4 协议的客户端模块 | mailbox | 操作不同格式邮箱的模块 | mailcap | 支持 Mailcap 文件处理的模块 | nntplib | 支持 NTTP 协议的客户端模块 | smtplib | 支持 SMTP 协议(发送邮件)的客户端模块 | poplib | 支持 POP3 协议的客户端模块 | telnetlib | 支持TELNET 协议的客户端模块 | urllib及其子模块 | 支持URL 处理的模块 | xmlrpc、xmlrpc.server、xmlrpc.client | 支持XML-RPC协议的服务器端和客户端模块 |
---|
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!