requests 返回的 Response 对象包含响应头属性 headers:

import requests as r
response = r.get("http://example.com")
print(response.headers)

访问response.headers属性会得到一个类似于字典的对象;

这个类似于字典的对象实际上是requests.structures.CaseInsensitiveDict的实例;

它的特点是字典的键不区分大小写。

你可以像访问字典一样访问response.headers,因为HTTP头部是大小写不敏感的,我们可以使用任意大小形式作为键来访问这个字典:

以下方式作用相同:

response.headers['content-type']
response.headers['CONTENT-type']
response.headers.get('content-type')
response.headers.get('Content-type')

遍历所有 Headers 信息

import requests as r
response = r.get("http://example.com")

for key,value in response.headers.items():
    print(f'{key}: {value}')

运行效果

Connection: close
Content-Length: 648
Accept-Ranges: bytes
Age: 369357
Cache-Control: max-age=604800
Content-Encoding: gzip
Content-Type: text/html; charset=UTF-8
Date: Mon, 30 Sep 2024 12:09:48 GMT
Etag: "3147526947+gzip"
Expires: Mon, 07 Oct 2024 12:09:48 GMT
Last-Modified: Thu, 17 Oct 2019 07:18:26 GMT
Server: ECAcc (chd/072B)
Vary: Accept-Encoding
X-Cache: HIT