Python网络编程:客户端模块与URL访问
在网络编程中,程序可以作为客户端(访问资源的程序)或服务器(提供服务的程序)运行。客户端和服务器程序都需要处理协议问题(如如何访问和传输数据)以及数据格式问题。Python 库通过多个模块来处理这些问题,本文将重点介绍支持客户端程序协议问题的模块,以及如何使用这些模块进行 URL 访问。
1. 客户端网络协议模块概述
Python 提供了多个模块来支持客户端网络协议,常见的数据访问方式是通过统一资源定位符(URL)。Python 中支持 URL 的模块有urlparse、urllib和urllib2。对于一些特殊情况,如需要对通常通过 URL 访问的数据访问协议进行细粒度控制时,Python 还提供了httplib和ftplib模块。此外,对于邮件(poplib和smtplib)、网络新闻(nntplib)和 Telnet(telnetlib)等协议,URL 往往不够用。Python 还通过xmlrpclib模块支持分布式计算的 XML - RPC 协议。
2. URL 结构与访问
URL 用于标识互联网上的资源,它由多个可选部分组成,包括方案(scheme)、位置(location)、路径(path)、查询(query)和片段(fragment)。完整的 URL 格式如下: