Unterschied der Dateigröße des FTP-Servers im Vergleich zur tatsächlichen Dateigröße

6228
Mahmoud Abdelkader

Ich verbinde mich mit einem FTP-Server, um einige gezippte Dateien herunterzuladen, und ich habe etwas Unbehagliches über den Befehl SIZE festgestellt, und mein Google-Fu hat mich versagt.

ftp> size file0001.xml.gz 213 2524751  ftp> nlist -ltr ... -rw-r--r-- 1 anon anons 2515727 Jan 30 00:00 file0001.xml.gz ... 

Die Dateigrößen sind unterschiedlich (2524751! = 2515727), wie Sie sehen. Warum?

Ich habe das RCF0959-DATEI-TRANSFER-PROTOKOLL (FTP) kurz gelesen, und der Befehl SIZE ist nicht erwähnt, was ich später als eine nicht standardmäßige Ergänzung des Protokolls herausfand.

Hier ist das Bit über die Bytegröße des RFC:

 byte size  There are two byte sizes of interest in FTP: the logical byte size of the file, and the transfer byte size used for the transmission of the data. The transfer byte size is always 8 bits. The transfer byte size is not necessarily the byte size in which data is to be stored in a system, nor the logical byte size for interpretation of the structure of the data. 

Was fehlt mir hier?

Vielen Dank!

Mahmoud

3

1 Antwort auf die Frage

6
Douglas Leeder

Hast du ftp in den binaryModus gewechselt ? ftp berechnet möglicherweise die Größe mit geänderten Zeilenenden?

2524751/2515727 * 255 = 255.91469384396638

Es sieht also so aus, als hätten alle 255 Bytes im Original zusätzlich 0,9 Bytes gewonnen - gerade genug, um eine komprimierte Datei in \nkonvertieren zu können \r\n.

Hey Douglas! Es tut mir leid, dass ich so spät zu Ihnen zurückkam Das Problem war, dass dieser Typ tatsächlich im ASCII-Format war, ich habe ihn über Pythons ftplib verwendet. Wenn ich ein retrbinary for size (retrbinary ("RETR SIZE")) erzwang, funktionierte es wie erwartet. Vielen Dank! Mahmoud Abdelkader vor 14 Jahren 0