您可以使用python请求库获取请求头吗?

您可以使用python请求库获取请求头吗?,python,python-requests,header,Python,Python Requests,Header,我使用python请求库从一个网站获取所有的头,但是请求似乎只获取响应头,我还需要请求头 有没有办法在请求库中获取请求头,或者我应该使用不同的库来获取请求头 我的代码: import requests r = requests.get("https://google.com", allow_redirects = False) for key in r.headers: print(key, ": ", r.headers[key]) 输出: Location : https:/

我使用python请求库从一个网站获取所有的头,但是请求似乎只获取响应头,我还需要请求头

有没有办法在请求库中获取请求头,或者我应该使用不同的库来获取请求头

我的代码:

import requests

r = requests.get("https://google.com", allow_redirects = False)

for key in r.headers:
    print(key, ": ", r.headers[key])
输出:

Location :  https://www.google.com/
Content-Type :  text/html; charset=UTF-8
Date :  Wed, 19 Feb 2020 13:08:27 GMT
Expires :  Fri, 20 Mar 2020 13:08:27 GMT
Cache-Control :  public, max-age=2592000
Server :  gws
Content-Length :  220
X-XSS-Protection :  0
X-Frame-Options :  SAMEORIGIN
Alt-Svc :  quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000

响应对象包含一个请求对象,该对象是生成响应的请求

requests.models.PreparedRequest
对象可通过响应对象的
request
属性访问,其标头位于请求对象的属性
headers

请参见此示例:

>>> import requests
>>> r = requests.get("http://google.com")
>>> r.request.headers
{'Connection': 'keep-alive', 'User-Agent': 'python-requests/2.22.0', 'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate'}

你不在谷歌的请求中定义请求头吗?请求头是你设置的头。为什么你需要得到它们?我正在抓取网站上的信息,如标题,一些信息,如升级不安全的请求,保存在请求标题内。谢谢你的回答,但这不会得到所有的请求标题。如果您通过chrome查看标题,您将获得更多信息,例如:
权限、方法、路径、模式、接受、接受编码、接受语言、缓存控制、秒取模式、秒取站点、秒取用户、升级不安全请求、用户代理、x-client-data
您无法在chrome中看到python请求库生成的标题,您只能检查chrome生成的请求头。您可以通过启动服务器来验证是否转储了请求头,并将其与返回的dict进行比较,结果是相同的。(是此类服务器的一个示例)感谢您的澄清如果您需要以一种漂亮的方式
json.dumps
它们,您将发现它们不是可序列化的,但是,您可以将其转换为dict,如
json.dumps(dict(r.request.headers),indent=2)