![curlftpfs 不适用于带有“@”的用户名](https://linux22.com/image/1271842/curlftpfs%20%E4%B8%8D%E9%80%82%E7%94%A8%E4%BA%8E%E5%B8%A6%E6%9C%89%E2%80%9C%40%E2%80%9D%E7%9A%84%E7%94%A8%E6%88%B7%E5%90%8D.png)
我的托管公司将我的所有用户名都加上“@”。
curlftpfs user="[email protected]:pass" ftp://ftp.domain.com/ ~/domain/
出于某种原因,我得到了回应
连接到 ftp 时出错:无法解析主机“domain.com:pass”
我认为它正在尝试连接到[电子邮件保护]没有密码
(因为有@符号)
答案1
cURL 将第一个 @ 符号后面的所有内容解释为要连接的域。您需要做的是欺骗 cURL 使其在没有第一个 @ 符号的情况下工作,或者找到其他方式告诉 CurlFtpFS 您的用户名。
前者可以通过用 URL 编码的 %40 替换 @ 来完成 - 它可能有效也可能无效 - 尝试一下看看。
另一种方法是查看 CurlFtpFS 中是否有一个--username
或--user
参数,可以使用它而不是将其包含在 URL 中。我对 CurlFtpFS 不够熟悉,无法立即知道是否有。手册页应该会告诉您是否有。
答案2
我想知道您是否错过了-o
开关,以便您上面的例子:
curlftpfs user="[email protected]:pass" ftp://ftp.domain.com/ ~/domain/
应该:
curlftpfs -o user="[email protected]:pass" ftp://ftp.domain.com/ ~/domain/
那样有用吗?