使用Python请求获取HEAD内容

发布于 2021-01-29 18:24:47

我正在尝试解析使用Python Requests库完成的HEAD请求的结果,但似乎无法访问响应内容。

根据文档,我应该能够从request.Response.text访问内容。这对GET请求对我来说效果很好,但对HEAD请求返回None。

GET请求(有效)

import requests
response = requests.get(url)
content = response.text

内容= <html>...</html>

HEAD请求(无内容)

import requests
response = requests.head(url)
content = response.text

内容= None


编辑

好的,我很快就从答案中意识到,HEAD请求不应返回仅内容标头。但这是否意味着,要访问在<head>页面标签(例如<link><meta>标签)中找到的内容,必须获取整个文档?

关注者
0
被浏览
149
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    根据定义,对HEAD请求的响应不包含消息正文。

    如果您希望获得响应正文,请发送GET请求。如果您只对响应状态代码和标头感兴趣,请发送HEAD请求。

    HTTP传输任意内容;HTTP术语
    与HTML完全无关<head>。但是,建议使用HTTP仅下载文档的一部分。如果您知道HTML<head>代码的长度(或其上限),则可以在请求中包含HTTP
    Range
    标头,建议远程服务器仅返回一定数量的字节。如果远程服务器支持HTTP范围,则它将提供简化的答案。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看