有没有通用的Python库可以消费基于REST的服务?

75 投票
3 回答
33505 浏览
提问于 2025-04-16 08:02

好的,我想使用基于REST的服务。

我想用Python。实际上,我就是要用Python。

我打算从命令行或者ipython开始使用它,试试不同的REST服务,之后再正式写代码。(我使用REST服务的方式不是一般的API那种)

我在找一个功能齐全的Python REST客户端/API。不是那种简单粗暴的,而是好用、体验不错的。有很多这样的工具,但我想找一个并把它学透。

有什么推荐吗?

补充:这是一个推荐:

https://github.com/benoitc/restkit

补充:http://pypi.python.org/pypi/requests 正是我需要的。

补充:http://pypi.python.org/pypi/siesta 也非常完美!

3 个回答

2

像通用的REST库几乎不可能实现,因为每个REST接口都不一样。曾经有一个叫做WADL的东西,试图为RESTful服务建立一个类似WSDL的接口描述语言。通过这样的描述,理论上可以创建一个通用的客户端,但似乎没有人对WADL感兴趣。而且大家似乎对此也没什么意见。

4

我主要用过 urllib2 或者 httplib2 这两个库。其实我还没找到需要用到一个通用的REST客户端的地方。

15

有一个问题就是,所谓的“豪华”REST客户端库其实并不太好,因为REST本身并没有一个很明确的定义。REST的意思就是尽量使用HTTP的标准,除此之外,其他的都可以灵活处理。

比如,数据是用JSON格式编码的吗?网址的格式是什么,它们又代表什么呢?

因为REST基本上就是HTTP,所以你最好的选择是使用httplib,但我不会把它称作豪华的库。

撰写回答