5

我正在整理一些东西来通过 SFTP 下载一些文件。我正在使用 PuTTY 的psftp.exe命令。

当我在 PSFTP 中执行dir/ls时,输出的格式是由 SFTP 还是由 PSFTP 本身标准化的?或者它只是服务器碰巧发送的任何自由格式的文本作为响应?

我之所以问是因为我相信 FTP(早在什么时候!),它根本没有标准化,我这里只有一个 SFTP 服务器可以测试。

4

2 回答 2

2

与 FTP(使用文本LIST输出)不同,SFTP 协议是基于二进制结构的,所以 Putty 负责所有的格式化。具体来说,它使用SSH_FXP_READDIR命令读取目录条目,这些条目以SSH_FXP_NAME指定的格式返回。

理想情况下,您将使用 API,而不是 psftp。但是如果你选择解析文本,你有 PuTTY 并且只有 PuTTY 需要担心。

我的错。 我看的较新的草稿没有这样的文本longname字段。但是,旧版本可以。

于 2010-07-10T01:47:39.080 回答
2

Matthew,本地客户端可能会选择从 SSH_FXP_NAME 响应中显示有关长名称插槽信息,而不是从文件名属性插槽本地生成它。

看看 psftp 在内部是如何做的,你不能完全确定它的格式在连接到不同的服务器时不会改变。

于 2010-07-13T10:33:39.410 回答