我有一个QUrl这样的:
https://www.example.com/index.html#token=SomeToken&user=guest
我想获取 token 的值,即SomeToken。我知道方法QUrl::queryItemValue,所以此代码必须有效:

void MainWindow::get_token(QUrl url)
{
    url = url.toString().replace("?","#");
    QString token = url.queryItemValue("token");
}

但是在Qt5中,我无法使用此方法,如何解析网址?

最佳答案

QUrlQuery中有一个新的Qt5类。新的QUrl目前尚不支持此方法,因此您应该使用QUrlQuery进行解析(它具有this和其他方法)。使用

QUrlQuery query(url);
qDebug() << query.queryItemValue("token");

注意:请谨慎使用replace,因为QUrlQuery可为您提供正确的结果
?token=SomeToken不是#token=SomeToken
http://qt-project.org/doc/qt-5/qurlquery.html

关于c++ - QT 5中的QUrl解析,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26722615/

10-11 23:20