0

我在将 FTP 字符串传递到 QUrl 时遇到一些问题:

std::cout << QUrl::fromUserInput("ftp://user@host.com:password@ftphost:21/path/file.ext").toString().toStdString().c_str() << std::endl;

总是导致

http://ftp//user@host.com:password@ftphost:21/path/file.ext

这显然是错误的。上面的 FTP Url 有什么问题?或者这是 Qt4 中的一个已知问题?

我正在使用 Qt 4.8.1 在 Linux 上工作。

即使遵循代码

if(QUrl("ftp://user@host.com:password@ftphost:21/path/file.ext").isValid())
    std::cout << "is valid" << std::endl;
else
    std::cout << "is not valid" << std::endl;

导致“无效”

提前致谢

4

1 回答 1

1

@您需要在用户名中手动替换为%40. 如果QUrl::setUserName()被调用,这就是QUrl在内部所做的。user@domain.tld

于 2014-07-23T22:35:54.033 回答