【问题标题】:QNetworkRequest and QUrl encoding c++QNetworkRequest 和 QUrl 编码 c++
【发布时间】:2012-11-06 05:39:47
【问题描述】:

我正在尝试连接到 gmail 并使用 atom 文件。 我对包含 !#$%^&* 字符的密码有疑问。

    pNetworkManager = new QNetworkAccessManager(this);

    connect(pNetworkManager, SIGNAL(finished(QNetworkReply*)), 
            this, SLOT(result(QNetworkReply*)));

    Settings settings;
    settings.load();
    QString url;

    url.append("https://");
    url.append(settings.getUserName());
    url.append(":");
    url.append(QUrl::toPercentEncoding(settings.getPassword()));
    url.append("@mail.google.com/mail/feed/atom");


    pNetworkManager->get(QNetworkRequest(QUrl(url.toUtf8())));

我收到回复“协议”未知“
Qt 4.8

这是如何正确完成的

【问题讨论】:

    标签: c++ linux qt


    【解决方案1】:

    为什么不直接构造一个QUrl

    QUrl url("https://mail.google.com/mail/feed/atom");
    url.setUserName(settings.getUserName());
    url.setPassword(settings.getPassword());
    pNetworkManager->get(QNetworkRequest(url));
    

    它处理所有必要的编码,QNetworkRequest 无论如何都直接接受它。无需弄乱字符串编码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-07
      • 2013-09-30
      • 2013-06-13
      • 1970-01-01
      相关资源
      最近更新 更多