curlftpfs 不适用于带有“@”的用户名

Asa*_*saf 6 ftp curl curlftpfs

我的托管公司使我所有的用户名都带有“@”。

curlftpfs user="user@domain.com:pass" ftp://ftp.domain.com/ ~/domain/
Run Code Online (Sandbox Code Playgroud)

出于某种原因,我得到了回应

连接到 ftp 时出错:无法解析主机“domain.com:pass”

我认为它试图在没有密码的情况下连接到 user@domain.com
(因为 @ 符号)

Maj*_*nko 6

cURL 将第一个 @ 符号之后的所有内容解释为要连接的域。您需要做的是让 cURL 在没有第一个 @ 符号的情况下工作,或者找到其他方式告诉 CurlFtpFS 您的用户名。

前者可能通过用 URL 编码的 %40 替换 @ 来完成 - 它可能会也可能不会 - 试试看。

另一种方法是查看是否有CurlFtpFS的--usernameor--user参数可以使用,而不是将其包含在 URL 中。我对 CurlFtpFS 不够熟悉,不知道是否有手头。手册页应该告诉你是否有。

  • @Asaf:当你运行 `ls` 时,它会在目录中的每一项上调用 stat();当它到达`~/domain` 时,它必须等到 curlftpfs 响应。(对于这个问题,我通常将所有远程挂载点放在一个单独的目录中,例如`~/fs/` 或`~/mnt/`。)由于 curlftpfs 是基于 FUSE 的,如果它也挂了你可以杀死它的进程长。 (2认同)