首页 > Python > Python 最佳实践指南 2018 > Python 应用场景

6.1. 网络应用

file

HTTP

超文本传输协议 (HTTP) 是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP 是万维网的数据通信的基础。

Requests

Python 基本的 urllib2 模块提供了大部分你所需要的 HTTP 功能,但它的 API 彻底被打乱了。它是在一个和现今完全不同的时期 --- 以及一个不一样的网络被构建的。一个简单的任务便需要耗费他大量的工作 (即使重写函数没用)。

Requests 将所有 Python HTTP 相关的功能剥离了出来,并与网络服务无缝衔接。Requests 无需再在 URL 中添加查询语句或格式编码的 POST 数据。而集成在 Requests 中 urllib3,则实现了持久连接和 HTTP 连接池的完全自动化。

分布式系统

ZeroMQ

ØMQ (也被称为 ZeroMQ, 0MQ 或 ZMQ ) 是一个高性能异步消息传递库,旨在应用于可扩展分布的或者并发的应用。它提供一个消息队列,但与面向消息的中间件不同,ØMQ 系统可在不依赖专用消息代理的情况下运行。ØMQ 旨在设计成为类似于 socket 风格的 API。

RabbitMQ

RabbitMQ 是一种使用了消息队列协议 ( AMPQ ) 的开源消息代理软件。RabbitMQ 服务由 Erlang 编程语言写成,并构建在开放电信平台框架上,应用于集群和故障转移。与该代理交互的客户端库支持所有主流编程语言。