扭曲的http客户端

时间:2010-01-27 13:31:51

标签: python http client twisted

我正在描述Twisted的HTTP客户端的使用示例。

在阅读了优秀的blog post on the internals of Twisted之后,我理解“工厂”和“协议”组件如何发挥作用,但我不清楚如何在整个客户端流程中引入“请求”。

更具体地说,我需要能够使用Twisted对远程服务器执行HTTP GET和POST请求。

更新:在讨论了irc #twisted / #python之后,似乎twisted.web2逐渐消失,有利于加强twisted.web上的功能,例如剂。

3 个答案:

答案 0 :(得分:17)

截至Twisted 9.0,实际上有两个HTTP客户端可用。较旧的功能有很多功能,例如自动跟踪重定向,解释cookie标头等。您可以在此处找到其用法示例:

http://twistedmatrix.com/documents/current/web/examples/

getpage.pydlpage.py

不幸的是,旧客户端提供的界面使许多常见任务变得困难。例如,使用getPage,您无法检查任意响应标头。

较新的HTTP客户端尚不像旧版本那样功能强大,但它提供了一个旨在消除getPage限制的界面。它还旨在更容易扩展和定制。您可以在此处找到描述其用法的文档:

http://twistedmatrix.com/documents/current/web/howto/client.html

答案 1 :(得分:2)

我开始使用扭曲的treq。 treq有一个与请求非常相似的API。 https://pypi.python.org/pypi/treq/0.2.0

答案 2 :(得分:1)

从Twisted 10开始,您可能希望使用Agent类。

请点击此链接: http://twistedmatrix.com/documents/10.2.0/web/howto/client.html