Question

Je prépare quelque chose pour télécharger des fichiers via SFTP.J'utilise PuTTY psftp.exe commande.

Quand je fais un dir/ls dans PSFTP, le format de sortie est-il standardisé, soit par SFTP, soit par PSFTP lui-même ?Ou s'agit-il simplement du texte libre que le serveur envoie en réponse ?

Je demande parce que je crois au FTP (à l'époque !), il n'était pas du tout standardisé et je n'ai qu'un seul serveur SFTP ici pour tester.

Était-ce utile?

La solution

Contrairement à FTP (qui utilisait du texte LIST sortie), le protocole SFTP est basé sur des structures binaires, donc Putty effectue tout le formatage.Plus précisément, il utilise le SSH_FXP_READDIR commande pour lire les entrées du répertoire, qui sont renvoyées dans le format spécifié par SSH_FXP_NAME.

Idéalement, vous utiliseriez une API plutôt que psftp.Mais si vous choisissez d'analyser le texte, vous devez vous soucier de PuTTY et uniquement de PuTTY.

Mon erreur. Le nouveau projet J'ai regardé, il n'y a pas un tel texte longname champ.Cependant, Versions plus anciennes faire.

Autres conseils

Matthew, le client local peut choisir d'afficher les informations sur le nom long créneaux du SSH_FXP_NAME réponse au lieu de la générer localement à partir du nom de fichier et attributs créneaux.

Sans regarder comment psftp le fait en interne, vous ne pouvez pas être complètement sûr que son format ne changera pas lors de la connexion à un autre serveur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top