首页 > 解决方案 > Python http.client - request 和 putrequest 有什么区别?

问题描述

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

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

HTTPConnection.request:这将使用 HTTP 请求方法方法和选择器 url 向服务器发送请求。

HTTPConnection.putrequest:这应该是与服务器建立连接后的第一次调用。它向服务器发送一行,其中包含方法字符串、url 字符串和 HTTP 版本 (HTTP/1.1)。要禁用 Host: 或 Accept-Encoding: 标头的自动发送(例如接受其他内容编码),请使用非 False 值指定 skip_host 或 skip_accept_encoding。

此外,两者的源代码都在此文件中定义。

根据我的猜测和阅读内容,requestputrequest. 那是对的吗?

标签: pythonhttphttp.client

解决方案


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

尽管这是在文档中定义的,但很容易跳过回答这个问题的那一行。

这在文档的这一行中指出http.client

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


推荐阅读