使用Python请求获取HEAD内容
我正在尝试解析使用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>
标签)中找到的内容,必须获取整个文档?
-
根据定义,对HEAD请求的响应不包含消息正文。
如果您希望获得响应正文,请发送GET请求。如果您只对响应状态代码和标头感兴趣,请发送HEAD请求。
HTTP传输任意内容;HTTP术语 头
与HTML完全无关<head>
。但是,建议使用HTTP仅下载文档的一部分。如果您知道HTML<head>
代码的长度(或其上限),则可以在请求中包含HTTP
Range标头,建议远程服务器仅返回一定数量的字节。如果远程服务器支持HTTP范围,则它将提供简化的答案。