Ошибка синтаксического анализа Qurl

У меня есть QUrl как это: https://www.example.com/success.html#token=XYZ&user=guest и я хочу получить значение токена, т.е. XYZ

Мой текущий код

QString token = url.queryItemValue(QString("token"));
cout << QString("access token is %1").arg(access_token);

возвращает пустую строку.


person S B    schedule 27.04.2012    source источник


Ответы (1)


Конечно, он возвращает пустую строку. token не является допустимым элементом запроса в указанном вами URL-адресе. Для https://www.example.com/success.html?token=XYZ&user=guest это будет действительно. Обычно # используется для ссылки на имя привязки, а не для параметров. Если у вас действительно есть такие URL-адреса, вам нужно либо сначала преобразовать # в ?, либо самостоятельно проанализировать URL-адрес. Вы можете получить материал, за которым следует #, с помощью QUrl::fragment().

person teukkam    schedule 27.04.2012
comment
Ой. Не заметил там #. - person S B; 27.04.2012