【问题标题】:Pipelining POST requests with python-requests使用 python-requests 流水线化 POST 请求
【发布时间】:2015-05-18 14:15:10
【问题描述】:

假设我可以验证一堆POST 请求实际上在逻辑上是独立的,我如何使用python-requests 设置HTTP 管道并强制它允许管道中的POST 请求?

有人有一个可行的例子吗?

附:如果管道突然中断,如何处理未完成请求的错误?

附言在这种情况下,grequests 不是一个选项。

【问题讨论】:

  • 您能否详细说明您所说的管道是什么意思?你是在说HTTP pipelining 吗? 为什么grequests不是一个选项?
  • 注意requestsnot support HTTP pipelining;使用grequests 永远只是一个近似值。
  • @MartijnPieters 哦,我的 google-fu 让我失望了......请将其转换为接受的答案。

标签: python python-requests http-pipelining


【解决方案1】:

流水线请求可以使用内置的 httplib 来完成,但只能通过访问其公共接口下方的连接和响应对象来完成。 This snippet 演示。

编辑:Python3 的更新版本:https://github.com/urllib3/urllib3/issues/52#issuecomment-109756116

【讨论】:

    【解决方案2】:

    requestsdoes not support HTTP pipelining

    您可以近似使用grequests 进行流水线处理,这样可以更轻松地并行运行多个请求,但每个并行请求仍将使用新的 TCP 连接。

    requests 确实池化连接,如果远程服务器允许,则保持 TCP 连接打开,但这仅有助于顺序连接,请求和响应仍然需要交替)。

    【讨论】:

      猜你喜欢
      • 2018-02-09
      • 2020-03-23
      • 2017-12-25
      • 1970-01-01
      • 1970-01-01
      • 2011-07-04
      • 1970-01-01
      • 2015-06-11
      • 1970-01-01
      相关资源
      最近更新 更多