2017-03-06 5 views
0

Ich habe einen Python-Code, der requests Modul verwendet.
Ich Abfrage einige api, um eine Datei, die in response.contenturllib bekomme Anfrage mit Payload

Meine Frage zurückkommen zu holen ist, wenn es eine Möglichkeit ist, den Inhalt in Bytes vor Schreiben in eine Datei zu berechnen.

Ich vermute, dass ich manchmal abgeschnittene Daten, und möchte das Schreiben in Datei-Phase herausfiltern, die auch ein Problem sein kann.

Antwort

2
import requests 

Im Folgenden wird die Header-Informationen

r = requests.head(url) 

Damit erhalten Sie Informationen, wie dies zum Beispiel zugreifen:

print r.headers 
{'accept-ranges': 'bytes', 
'cache-control': 'max-age=467354', 
'connection': 'keep-alive', 
'content-length': '37475248', 
'content-type': 'video/mp4', 
'date': 'Sun, 01 Sep 2013 07:26:21 GMT', 
'expires': 'Fri, 06 Sep 2013 17:15:35 GMT', 
'last-modified': 'Fri, 09 Aug 2013 18:51:33 GMT'} 

Anschließend können Sie das Feld, das Sie interessiert sind finden und folgendes tun

file_size = r.headers.get('content-length') 

Ich glaube, das ist, was Sie suchen - Sie können dann alle Konvertierungen für die Länge durchführen, die benötigt wird, um die gewünschte Größeninformation zu erhalten.

+1

Große und inhaltliche Länge im Header gibt Ihnen die Länge des Dateiinhalts in Bytes –

Verwandte Themen