Cygwin
LFTP 將“;type=i”添加到遠端文件名
我在 cygwin 下使用 LFTP 版本 4.7.8。它會自動添加
";type=i"
(或者";type=a"
如果我這樣做put -a
)到遠端文件名。更重要的是,mv
命令不起作用:mv: Operation not supported: 501 Not Implemented (MOVE)
在同一個 FTP 伺服器上使用 FileZilla 完全沒有問題。
任何解決方法?
出於某種原因,您決定通過 HTTP 代理訪問您的 FTP 伺服器,這是 LFTP doco 稱為HFTP的協議。您已經在 LFTP 配置文件或
ftp_proxy
環境變數中對該決定進行了編碼。根據 RFC 1738 § 3.2.2,您的代理應該解碼LFTP 發送給它的部分 URL
;type=i
。;type=a
它沒有這樣做,並且錯誤地將它們傳遞給目標 FTP 伺服器。有一個配置文件開關,記錄在 LFTP 使用者手冊中,通過從發送到代理的 URL 中省略 FTP 類型後綴來解決這個問題。在 HFTP 模式下,
mv
LFTP 客戶端中的MOVE
命令成為帶有Destination:
HTTP 代理標頭的命令(它又被期望轉換為 FTPRNFR
和RNTO
適當地發送到目標 FTP 伺服器的動詞)。您的 HTTP 代理根本沒有實現MOVE
HTTP 動詞。看來您的 HTTP 代理在 FTP over HTTP 方面相當糟糕。
您的選擇是:
- 獲取可以處理 HFTP 的更好的 HTTP 代理。
- 首先不要為 FTP 使用 HTTP 代理。
- 停止嘗試重命名文件。☺
進一步閱讀