sca*_*an_ 41 python python-requests
我查看了请求文档,但我似乎找不到任何东西.我如何只请求标题,以便我可以评估文件大小?
Ble*_*der 67
发送HEAD请求:
>>> import requests
>>> response = requests.head('http://example.com')
>>> response.headers
{'connection': 'close',
'content-encoding': 'gzip',
'content-length': '606',
'content-type': 'text/html; charset=UTF-8',
'date': 'Fri, 11 Jan 2013 02:32:34 GMT',
'last-modified': 'Fri, 04 Jan 2013 01:17:22 GMT',
'server': 'Apache/2.2.3 (CentOS)',
'vary': 'Accept-Encoding'}
Run Code Online (Sandbox Code Playgroud)
HEAD请求就像只下载标头的GET请求.请注意,服务器实际上要遵守您的HEAD请求.有些服务器只会响应GET请求,因此您必须发送GET请求并关闭连接而不是下载正文.其他时候,服务器从不指定文件的总大小.
wat*_*HUN 28
使用 requests.get(url, stream=True).headers['Content-length']
stream=True表示函数返回时,只下载响应头,而不是响应体.
双方requests.get并request.head能得到你的信息,但是有使用的优势get
get更灵活,如果你想在检查长度后下载响应主体,你可以从简单地访问content属性或使用iterator将以块的形式下载内容开始这是获取麻省理工学院开放课程视频长度的示例
MitOpenCourseUrl = "http://www.archive.org/download/MIT6.006F11/MIT6_006F11_lec01_300k.mp4"
resHead = requests.head(MitOpenCourseUrl)
resGet = requests.get(MitOpenCourseUrl,stream=True)
resHead.headers['Content-length'] # output 169
resGet.headers['Content-length'] # output 121291539
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29808 次 |
| 最近记录: |