我正在描述Twisted的HTTP客户端的使用示例。
在阅读了优秀的blog post on the internals of Twisted之后,我理解“工厂”和“协议”组件如何发挥作用,但我不清楚如何在整个客户端流程中引入“请求”。
更具体地说,我需要能够使用Twisted对远程服务器执行HTTP GET和POST请求。
更新:在讨论了irc #twisted / #python之后,似乎twisted.web2
逐渐消失,有利于加强twisted.web
上的功能,例如剂。
答案 0 :(得分:17)
截至Twisted 9.0,实际上有两个HTTP客户端可用。较旧的功能有很多功能,例如自动跟踪重定向,解释cookie标头等。您可以在此处找到其用法示例:
http://twistedmatrix.com/documents/current/web/examples/
(getpage.py
和dlpage.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