我在 cygwin 下使用 LFTP 版本 4.7.8。它会自动添加";type=i"
(或者";type=a"
如果我这样做的话put -a
)远程文件名。更重要的是,mv
命令不起作用:mv: Operation not supported: 501 Not Implemented (MOVE)
在同一 FTP 服务器上使用 FileZilla 完全没有问题。
有什么解决方法吗?
答案1
由于某种原因,您决定通过 HTTP 代理访问您的 FTP 服务器,这是 LFTP doco 调用的协议高频传输协议。您已将此决定编码到 LFTP 配置文件或ftp_proxy
环境变量中。
根据 RFC 1738 § 3.2.2,您的代理应该解码LFTP 发送给它的 URL 的;type=i
和部分。;type=a
它没有这样做,并且错误地将它们传递到目标 FTP 服务器。 LFTP 用户手册中记录了一个配置文件开关,可以通过省略发送到代理的 URL 中的 FTP 类型后缀来解决此问题。
在 HFTP 模式下,mv
LFTP 客户端中的命令成为MOVE
带有 HTTP 代理标头的命令Destination:
(该代理又需要将其转换为 FTPRNFR
和RNTO
相应发送到目标 FTP 服务器的动词)。您的 HTTP 代理MOVE
根本不实现HTTP 动词。
看来您的 HTTP 代理在 FTP over HTTP 方面表现很差。
您的选择是:
- 获取可以处理 HFTP 的更好的 HTTP 代理。
- 首先不要对 FTP 使用 HTTP 代理。
- 停止尝试重命名文件。 ☺