13.1. 互联网数据处理

未匹配的标注

作为现代计算的其中一方面,互联网可以说是无处不在的。即使是小型的单用户脚本也常常需要和远端的服务交互,收发信息。Python 有着丰富的工具来处理网络协议,这使得 Python 非常适于开发基于网络的应用程序,无论该程序是应用于客户端还是服务端。

urllib.parse 模块可用来操作 URL 地址,比如拆分和组合其中的某些组成部分,这在客户端与服务端是很有用的。

urllib.request 模块则实现了一个可远程检索内容的 API 。

为了遵守消息的标准格式,通过 POST 发送的二进制数据应首先用 base64 编码,因此 HTTP POST requests 通常被 urllib 「形式编码」。

作为爬虫来访问多个网站的,品行端正的客户端程序,应该使用 urllib.robotparser 来确保只在被允许的情况下,才对远端服务器添加大量负载。

不使用任何其他框架,想要定制一个网络服务器,可以用 http.server 来打好基础。 因为 HTTP 协议部分可以完全交给它处理, 你唯一需要定制化的部分就是完成如何应对实际请求的应用代码。

服务端的 session 状态可以由 http.cookies 模块通过生成和分析 cookies 的方式来管理。对会话时限、路径、域以及其他一些 cookie 设定的完整支持,使得用该模块来配置 session 会比较轻松。

uuid 模块被用于为那些需要唯一标识的资源生成标识符。 特别是在要求资源名称是唯一的,但又不需要传达任何特定意义时,用 UUIDs 自动生成统一资源名称 (URN) 是方便的。

Python 的标准库支持两种基于网络的远程过程调用机制。 一种是应用于 AJAX 交互的 JavaScript Object Notation (JSON) 编码策略;另一种则是基于 json 的 REST API 。这在客户端与服务端都能够很好地工作。客户端与服务端的完整 XML-RPC 库也都相应地包含在 xmlrpc.client 和 xmlrpc.server 中。

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/pymotw/the-inte...

译文地址:https://learnku.com/docs/pymotw/the-inte...

上一篇 下一篇
贡献者:1
讨论数量: 0
发起讨论 只看当前版本


暂无话题~