Python HTTP HEAD - 正确处理重定向?

2023-11-24

我可以使用 urllib2 发出 HEAD 请求,如下所示:

import urllib2
request = urllib2.Request('http://example.com')
request.get_method = lambda: 'HEAD'
urllib2.urlopen(request)

问题是,当遵循重定向时,它似乎使用 GET 而不是 HEAD。

此 HEAD 请求的目的是检查我要下载的 URL 的大小和内容类型,以便确保我不会下载一些巨大的文档。 (该 URL 由随机互联网用户通过 IRC 提供)。

我怎样才能让它在遵循重定向时使用 HEAD 请求?


您可以使用requests图书馆:

>>> import requests
>>> r = requests.head('http://github.com', allow_redirects=True)
>>> r
<Response [200]>
>>> r.history
[<Response [301]>]
>>> r.url
u'https://github.com/'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python HTTP HEAD - 正确处理重定向? 的相关文章

随机推荐