Python Network Programming 简明教程

Python - Internet Protocol

互联网协议旨在在所有联网计算机上实现统一的地址系统,让数据包能够从互联网的一端传送到另一端。像 Web 浏览器这样的程序应能够连接到任何地方的主机,而无需了解每个数据包在传输过程中经过的网络设备迷宫。互联网协议有各种类别。这些协议旨在满足互联网中不同计算机之间不同类型数据通信的需求。

Python 有几个模块来处理每个这些通信场景。这些模块中的方法和功能可以完成简单的验证 URL 的任务或处理 cookie 和会话的复杂任务。在本章,我们将介绍用于互联网协议的最著名的 Python 模块。

Protocol

Python Module Name

Description

HTTP

urllib.request

Opening the HTTP URL

HTTP

urllib.response

为 URL 请求创建响应对象

HTTP

urllib.parse

要将统一资源定位符 (URL) 字符串分解为组件(例如寻址方案、网络位置、路径等),

HTTP

urllib.robotparser

它找出特定用户代理是否可以在发布 robots.txt 文件的网站上获取某 URL。

FTP

ftplib

实现了 FTP 协议的客户端。你可以使用它编写 Python 程序,来执行各种自动化 FTP 作业,例如镜像其他 FTP 服务器。

POP

poplib

此模块定义了一个类 POP3,该类封装与 POP3 服务器的连接,以从电子邮件服务器读取消息

IMAP

imaplib

此模块定义了三个类:IMAP4、IMAP4_SSL 和 IMAP4_stream,该类封装与 IMAP4 服务器的连接,以读取电子邮件。

SMTP

smtplib

smtplib 模块定义了一个 SMTP 客户端会话对象,该对象可以用来向任何带有 SMTP 监听守护进程的 Internet 机器发送邮件。

Telnet

telnet

此模块提供了一个 Telnet 类,该类实现了 Telnet 协议,从而可以通过 Telnet 访问服务器。

每个类都会在后续章节中详细阐述。