首页 > Python基础教程 > Python网络编程
阅读:4,455
Python网络编程模块(大汇总)
根据前面对网络分层棋型的介绍,我们知道实际的网络模型大致分为四层,这四层各有对应的网络协议提供支持,如图 1 所示。
图 1 四层网络模型及对应的协议
网络层协议主要是 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 标准库中的网络相关模块。
图 1 四层网络模型及对应的协议
网络层协议主要是 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协议的服务器端和客户端模块 |
所有教程
- socket
- Python基础教程
- C#教程
- MySQL函数
- MySQL
- C语言入门
- C语言专题
- C语言编译器
- C语言编程实例
- GCC编译器
- 数据结构
- C语言项目案例
- C++教程
- OpenCV
- Qt教程
- Unity 3D教程
- UE4
- STL
- Redis
- Android教程
- JavaScript
- PHP
- Mybatis
- Spring Cloud
- Maven
- vi命令
- Spring Boot
- Spring MVC
- Hibernate
- Linux
- Linux命令
- Shell脚本
- Java教程
- 设计模式
- Spring
- Servlet
- Struts2
- Java Swing
- JSP教程
- CSS教程
- TensorFlow
- 区块链
- Go语言教程
- Docker
- 编程笔记
- 资源下载
- 关于我们
- 汇编语言
- 大数据
- 云计算
- VIP视频