gpt4 book ai didi

python - 在 Twisted 中限制 http 客户端

转载 作者:太空宇宙 更新时间:2023-11-04 05:57:54 25 4
gpt4 key购买 nike

上下文

(以防我问错问题)

我有客户端和服务器。他们使用的应用程序是用 Twisted 编写的。服务器需要一个客户端可以使用的简单 API。必须

  • 允许函数调用的近似值,其中最多一个参数或响应是二进制数据流
  • 支持认证

但是,客户端还必须能够限制其读/写速率和与服务器的连接数。

我找到了 Twisted HTTP 库,因为尽管 HTTP 比我需要的更复杂,但我认为它可以完成工作,因为我认为它可以组合 WrappingFactories,例如 twisted.protocols.policies.ThrottlingFactorytwisted.protocols.policies.LimitConnectionsByPeer

问题

似乎没有简单的方法来包装 _HTTP11ClientFactoryAgent 使用.有充分的理由,因为当我尝试添加一种包装工厂的 hacky 方法时,它导致了错误。

问题

  • 我是不是漏掉了什么 - 有没有一种简单的方法可以在客户端限制 HTTP 请求?
  • 如果没有我可以使用的另一种协议(protocol)来支持我的用例,还是编写一些我可以轻松理解并应用上述工厂的简单协议(protocol)更好?

最佳答案

限制 HTTP 请求的速率涉及的不仅仅是 ThrottlingFactoryLimitConnectionsByPeer 所做的事情。

LimitConnectionsByPeer 用于限制到服务器的传入 连接速率,因此对客户端不是很有帮助。

ThrottlingFactory 应该可以工作,尽管您可能需要做一些额外的工作才能将其入侵其中,而且这可能没有很好的记录。如果您需要更多帮助,包括您使用的黑客代码和您遇到的错误对您很有用。但是,它所做的是限制该连接的线路速率,而不是传出连接的速率。为此,您需要一个客户端端点来延迟传出连接成功。

据我所知,您没有遗漏任何东西。这可能并不像看起来那么难,但没有任何开箱即用的东西可以为您做到这一点。你是对的,这是 Twisted 的 HTTP 客户端应该做的事情。

关于python - 在 Twisted 中限制 http 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26745536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com