私はリクエストのドキュメントを見ましたが、何も見つかりませんでした。ヘッダーのみを要求すると、ファイルサイズを評価できますか?ヘッダを取得するだけで、python-requestsを使ってファイルサイズを取得する
29
A
答えて
54
HEAD requestを送信:
>>> 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要求に応じて送信される情報と同じである必要があります。しかし、必ずしもそうではありません。ここで
はないすべての応答は、必ずしも `コンテンツlength`含む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. pythonはurllib2だけを使ってヘッダを取得します
- 2. csvだけでヘッダ行を取得するには
- 3. ファイルサイズを取得するバッチスクリプト
- 4. ASPxUploadControlファイルサイズを取得する
- 5. IDLファイルサイズを取得する
- 6. ファイルサイズをKBで取得する
- 7. .NETでヘッダー/ファイルサイズを取得する
- 8. SetFilePointerExファイルサイズを取得
- 9. iOS向けGoogleドライブのファイルサイズを取得
- 10. LINQを使ってリストにあるアイテムだけを取得する<>
- 11. オブジェクトの型だけを取得する
- 12. AnyEvent :: HTTPを使ってページの一部だけを取得する方法は?
- 13. Cypherを使ってNeo4jの友人だけを取得する方法
- 14. os.walk中にファイルサイズを取得
- 15. 辞書をソートしてキーを取得するだけです
- 16. FTPからファイルサイズを取得する(SSIS、Dts.Connectionsを使用)
- 17. すべてのアプリケーションで一度だけリクエストを取得する -
- 18. CGI使用時にperlでHTTPヘッダを取得する方法
- 19. $ magicのノートブックでファイルサイズ情報を取得
- 20. Cで大きなファイルサイズを取得
- 21. PHPを使用してFTPサーバー上でファイルサイズを取得するには?
- 22. Paramikoを使ってPythonでssh.exec_commandを与えた後で空リスト[]を取得するだけです
- 23. ファイルサイズの取得SSIS C#
- 24. renci.sshnetを使用してsftpファイルサイズを取得
- 25. jQuery.ajaxを実行するdivを1つだけ取得する
- 26. 取得する方法SOAPヘッダ
- 27. できるだけ最新の前年を取得する
- 28. iOS 10ダウンロードする前にファイルサイズを取得する
- 29. javascriptでHTML5 Canvas.todataurlファイルサイズを取得するには?
- 30. アンドロイドでライブビデオ録画のファイルサイズを取得する方法は?
ノートの長さの取得の一例である - 時々応答は'転送エンコードを使用して生成されます。チャンクされています。この場合、実際に応答を得ない限り、応答がどれくらい長く続くかを知る方法はありません。 –
これは 'urllib.urlopen(url).info()['content-length']'を使って検索したサイズとは異なります。 –