【问题标题】:Python http.client - What is the difference between request and putrequest?Python http.client - request 和 putrequest 有什么区别?
【发布时间】:2020-03-04 15:00:23
【问题描述】:

我找到的解释 Python 的 http.client 的文档似乎有点稀疏。我想在请求上使用它,因为请求对我们的项目不起作用。

所以,知道我正在使用 Python 的 http.client,我一次又一次地看到 requestputrequest。这两种方法都在HTTPConnection 下定义here

HTTPConnection.request: 这将使用 HTTP 请求方法方法和选择器 url。

HTTPConnection.putrequest: 这应该是 已建立与服务器的连接。它向服务器发送一条线 由方法字符串、url 字符串和 HTTP 版本组成 (HTTP/1.1)。要禁用主机自动发送:或接受编码: 标头(例如接受其他内容编码),指定 具有非 False 值的 skip_host 或 skip_accept_encoding。

另外,两者的源代码都在this file 中定义。

根据我的猜测和阅读内容,与putrequest 相比,request 似乎是一个更高级别的 API。对吗?

【问题讨论】:

  • 文档中的“putrequest”上方有“作为使用上述 request() 方法的替代方法,您还可以使用以下四个函数逐步发送请求。”。
  • 我是个傻瓜。感谢您指出这一点。

标签: python http http.client


【解决方案1】:

答案:request() 是多个函数的抽象版本,putrequest() 就是其中之一。

尽管文档中对此进行了定义,但很容易跳过回答此问题的那一行。

http.client 文档的这一行指出了这一点:

作为使用上述 request() 方法的替代方法,您还可以使用以下四个函数逐步发送请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-24
    • 2011-06-03
    • 1970-01-01
    • 1970-01-01
    • 2019-08-09
    • 2013-12-20
    • 1970-01-01
    • 2012-09-04
    相关资源
    最近更新 更多