【问题标题】:twisted http client扭曲的http客户端
【发布时间】:2011-01-09 23:14:23
【问题描述】:

我正在寻找一个描述 Twisted 的 HTTP 客户端用法的示例。

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

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

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

【问题讨论】:

    标签: python http client twisted


    【解决方案1】:

    从 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

    【讨论】:

    • 太棒了!正是我需要的!
    • ...除了它仅在 9.0.0 中可用... arhhh!
    • 您是否希望我们停止改进,以便新版本不包含任何好东西? :)
    • 在发出内容类型为 multipart/form-data 的 post 请求时是否有任何示例?
    • Agent 默认是否遵循重定向?
    【解决方案2】:

    从 Twisted 10 开始,您可能想要使用 Agent 类。

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

    【讨论】:

      【解决方案3】:

      我开始使用 treq with twisted。 treq 有一个与 Requests 非常相似的 API。 https://pypi.python.org/pypi/treq/0.2.0

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-30
        • 1970-01-01
        • 1970-01-01
        • 2012-09-13
        • 2013-05-17
        • 1970-01-01
        • 1970-01-01
        • 2012-09-05
        相关资源
        最近更新 更多