我需要一个关于Twisted HTTP客户端的用法示例。
在阅读了优秀的关于Twisted内部原理的博客文章之后,我明白了"工厂"和"协议"组件的作用,但我不清楚如何在整个客户端流程中引入"请求(Request)"。
更具体地说,我需要使用Twisted执行HTTP GET和POST请求到远程服务器。
更新:在irc #twisted / #python的讨论后,似乎twisted.web2
正逐渐消失,取而代之的是加强twisted.web
的功能,例如Agent。
我需要一个关于Twisted HTTP客户端的用法示例。
在阅读了优秀的关于Twisted内部原理的博客文章之后,我明白了"工厂"和"协议"组件的作用,但我不清楚如何在整个客户端流程中引入"请求(Request)"。
更具体地说,我需要使用Twisted执行HTTP GET和POST请求到远程服务器。
更新:在irc #twisted / #python的讨论后,似乎twisted.web2
正逐渐消失,取而代之的是加强twisted.web
的功能,例如Agent。
从 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
从Twisted 10开始,您可能想要使用Agent
类。
请访问以下链接: http://twistedmatrix.com/documents/10.2.0/web/howto/client.html
Agent
默认会遵循重定向吗? - Rudziankoŭ