python请求模块:head和get请求方法有什么区别

use*_*644 4 python get http-status-codes head python-requests

当我使用请求模块检查页面是否可用时。例如:

>>> import requests
>>> url = "http://www.motie.com/book/29675"
>>> res = requests.head(url)
>>> print res.status_code
404
>>> res = requests.get(url)
>>> print res.status_code
200
Run Code Online (Sandbox Code Playgroud)

我分别得到了 HEAD 和 GET 的 status_code 404 和 200。我不知道为什么。此外,我怎么能找出原因。非常感谢。

Alf*_*lfe 5

您联系的 Web 服务器可以按照它应该的方式自由运行。在这种情况下,它报告它无法找到head请求的答案,即使它可以找到get请求的答案。这不是它应该做的,但您需要修复服务器以解决此问题。

此处查看有关head请求的更多信息,当然也可以在此处查看WP 。

实际上,我认为这是服务器中的错误。

  • 好吧,它_支持_它(说明 404 表示“未找到”而不是“错误命令”或“服务器错误”或类似的)。它只是没有正确回答。根据 HEAD 请求的 HTTP 标准,它应该提供与 GET 请求相同的东西,减去内容。这显然不是。 (2认同)