我已经查看了请求文档,但我似乎无法找到任何东西。我如何才能请求标题,以便我可以评估文件大小?使用python-requests获取文件大小,而只获取标题
29
A
回答
54
>>> 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'}
HEAD请求就像一个GET请求仅下载头。请注意,服务器要实际遵守HEAD请求。有些服务器只会响应GET请求,因此您必须发送GET请求并关闭连接而不是下载正文。其他时候,服务器从不指定文件的总大小。
11
使用requests.get(url, stream=True).headers['Content-length']
stream=True
意味着,当函数返回时,仅响应标头被下载,响应身体不。
两个requests.get
和request.head
可以让你的信息,但是有使用get
get
更加灵活,如果你想检查长度后下载响应的身体,你可以通过简单的访问开始的一个优点content
属性或使用iterator
将下载以块的内容- “HEAD请求应与响应于GET请求发送的信息”。但并非总是如此。
这里是得到一个MIT open course video
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
相关问题
- 1. 使用FtpLib获取文件夹大小
- 2. 获取文件夹大小
- 3. 获取txt文件大小
- 4. 获取文件大小ExtJS
- 5. 获取文件大小笨
- 6. 获取文件大小
- 7. SetFilePointerEx获取文件大小
- 8. ASPxUploadControl获取文件大小
- 9. 只使用批量命令获取子文件夹的大小
- 10. 获取文件大小,文件
- 11. 获取文件的文件大小
- 12. 获取大文件的大小
- 13. FastPDFKit获取文档大小
- 14. 使用JAVA从TFTP服务器获取文件大小而不下载文件
- 15. 使用php上传文件时获取文件大小
- 16. 使用GetListItems从Sharepoint获取文件/文件夹大小
- 17. Otool - 仅获取文件大小
- 18. 获取文件大小上载与JavaScript
- 19. java有效获取文件大小
- 20. 如何从OpenFileDialog获取文件大小?
- 21. codeigniter ftp获取文件大小
- 22. 获取文件的大小在objective-c
- 23. 获取在商场文件大小
- 24. 如何获取WAR文件的大小?
- 25. 获取文件大小与std :: ios :: ate?
- 26. 如何获取C文件的大小?
- 27. 获取carrierwave上传的文件大小
- 28. 如何获取文件的大小
- 29. GAE Blob存储获取文件大小
- 30. 获取CFHTTPStream的文件大小
音符的长度,并非每一个响应将必须包括一个'内容length'的一个例子 - 有时被使用'传送编码生成的响应:在这种情况下,除非您真正获得整个响应,否则无法知道响应会持续多久。 –
这与使用urllib.urlopen(url).info()['content-length']'检索的大小不同,所以不完全是我想要的。 –