只想要响应标头而不是响应正文 Python



我正在URL上发出get/post请求,并响应获取HTML页面。我只想要一个响应标头,没有响应正文。 已经使用过HEAD方法,但它并非在所有情况下都有效。 通过获取完整的 HTML 页面作为响应,带宽正在增加。 并且还需要一个解决方案,以便它可以在HTTPS和HTTP请求中工作。

例如

import urllib2
urllib2.urlopen('http://www.google.com')

如果我使用 urllib2 或请求在此 URL 上发送请求。我从服务器获取响应正文和标头。此请求占用 14.08 KB 的字节。如果我打破了这一点,响应标头占用 775 字节,响应正文占用 13.32kb。所以我只需要响应标头,将节省 13.32 kb

您要做的是所谓的HEAD请求。请参阅有关如何执行此操作的此问题。

这是你要找的吗:

import urllib2
l = urllib2.urlopen('http://www.google.com')
print(l.headers)
#Date: Thu, 11 Oct 2018 09:07:20 GMT
#Expires: -1
#...

编辑

这似乎可以满足您的需求:

import requests
a = requests.head('https://www.google.com')
a.headers
#{'X-XSS-Protection': '1; mode=block', 'Content-Encoding':...
a.text
#u''

相关内容

最新更新