Frage

Ich stelle gerade etwas zusammen, um einige Dateien über SFTP herunterzuladen.Ich verwende PuTTYs psftp.exe Befehl.

Wenn ich ein mache dir/ls Ist in PSFTP das Format der Ausgabe standardisiert, entweder durch SFTP oder durch PSFTP selbst?Oder handelt es sich einfach um einen beliebigen Freiformtext, den der Server als Antwort sendet?

Ich frage, weil ich an FTP glaube (vor langer Zeit!), es war überhaupt nicht standardisiert und ich habe hier nur einen SFTP-Server zum Testen.

War es hilfreich?

Lösung

Im Gegensatz zu FTP (bei dem Text verwendet wurde LIST Ausgabe) basiert das SFTP-Protokoll auf binären Strukturen, daher übernimmt Putty die gesamte Formatierung.Konkret nutzt es die SSH_FXP_READDIR Befehl zum Lesen von Verzeichniseinträgen, die in dem von angegebenen Format zurückgegeben werden SSH_FXP_NAME.

Idealerweise würden Sie eine API anstelle von psftp verwenden.Wenn Sie sich jedoch dafür entscheiden, den Text zu analysieren, müssen Sie sich um PuTTY und nur um PuTTY kümmern.

Mein Fehler. Der neuere Entwurf Ich habe mir so einen Text nicht angeschaut longname Feld.Jedoch, ältere Versionen Tun.

Andere Tipps

Matthew, der lokale Kunde kann sich dafür entscheiden, die Informationen auf dem anzuzeigen langer Name Slots aus dem SSH_FXP_NAME Antwort, anstatt sie lokal aus dem zu generieren Dateiname Und attrs Schlüssel.

Wenn man sich nicht ansieht, wie psftp es intern macht, kann man nicht ganz sicher sein, dass sich sein Format nicht ändert, wenn man eine Verbindung zu einem anderen Server herstellt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top