Cygwin

LFTP 將“;type=i”添加到遠端文件名

  • May 23, 2018

我在 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 模式下,mvLFTP 客戶端中的MOVE命令成為帶有Destination:HTTP 代理標頭的命令(它又被期望轉換為 FTPRNFRRNTO適當地發送到目標 FTP 伺服器的動詞)。您的 HTTP 代理根本沒有實現MOVEHTTP 動詞。

看來您的 HTTP 代理在 FTP over HTTP 方面相當糟糕。

您的選擇是:

  • 獲取可以處理 HFTP 的更好的 HTTP 代理。
  • 首先不要為 FTP 使用 HTTP 代理。
  • 停止嘗試重命名文件。☺

進一步閱讀

  • Christoph Lameter 等人。(2017-08-10)。 lftp. 通用命令手冊。lftp.yar.ru。
  • T. Berners-Lee、L. Masinter 和 M. McCahill (1994-12)。“ FTP ”。統一資源定位器 RFC 1738。

引用自:https://unix.stackexchange.com/questions/445589