Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/29: Рейтинг темы: голосов - 29, средняя оценка - 4.62
6 / 6 / 1
Регистрация: 18.12.2013
Сообщений: 114
1

QString to QUrl

12.12.2014, 17:23. Показов 5788. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет!! Интересует такой вопрос, делаю так
C++ (Qt)
1
QUrl(url_test, QUrl::TolerantMode);
Но почему то все пробелы не заменяются на %20.

Делал так:
C++ (Qt)
1
QUrl(url.toEncoded(QUrl::FullyEncoded))
Тоже не помогает.
Может кто подсказать в чем причина?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.12.2014, 17:23
Ответы с готовыми решениями:

Qurl добавить к адресу QString?
Есть код:ui->webView->load(QUrl("https://m.vk.com/id4522351")); есть переменная QStringList...

QFile::rename(QString name1, QString name2) не работает под Win
Добрый день! Столкнулся с проблемой: QFile::rename(QString name1, QString name2) не работает под...

Как разбить QString строку на подстроки, т.е. на qlist <qstring> ?
Как разбить QString строку: &quot;/michaeltosell&quot;, &quot;/vorago&quot;, &quot;/yanochka147&quot;, &quot;gertylohhg&quot;, на...

QList <QPair <QString, QString> > - сортировка пузырьком
Возможно ли? =) Есть список городов с их идентификационным номером, например:...

10
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
12.12.2014, 17:24 2
Lex999, QUrl::toPercentEncoding
0
6 / 6 / 1
Регистрация: 18.12.2013
Сообщений: 114
12.12.2014, 17:42  [ТС] 3
gromo, что то оно мне не то кодирует, пробелы к примеру вообще не трогает
0
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
12.12.2014, 17:45 4
Lex999, http://qt-project.org/doc/qt-4... ntEncoding
Передай пробел в третий параметр, доку читал хоть?
0
6 / 6 / 1
Регистрация: 18.12.2013
Сообщений: 114
13.12.2014, 11:47  [ТС] 5
gromo, Сделал так же, как там написано.
Если делаю так:
C++ (Qt)
1
qDebug() <<QUrl::toPercentEncoding(url_test, "", " ");
То заменяет все сдеши и пробелы.
ЕСли так
C++ (Qt)
1
qDebug() <<QUrl(QUrl::toPercentEncoding(url_test, "", " "));
То пробелы остаются.

Добавлено через 1 час 5 минут
Выходит что QUrl автоматом убирает эти знаки, что то вообще не понятно.

Добавлено через 21 минуту
Людиии, очень нужна помощь, как же правильно открыть нужный URL, если оно все время исправляет мне ее?

Добавлено через 16 часов 15 минут
Пока не в какую, ничего не получается.

Превращаю в QByteArray
C++ (Qt)
1
2
3
QString url = "ws://localhost:9000/api/ws/bv code";
QString test_url = QString::fromLocal8Bit(myUrl.toEncoded());//стает ws://localhost:9000/api/ws/bv%20code
 qDebug() <<QUrl(test_url);//стает ws://localhost:9000/api/ws/bv code
Уже задолбался, мне надо подключится к веб сокету по адресу с пробелами, а я никак не пойму как это сделать
0
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
13.12.2014, 16:04 6
Цитата Сообщение от Lex999 Посмотреть сообщение
Уже задолбался, мне надо подключится к веб сокету по адресу с пробелами, а я никак не пойму как это сделать
Повторюсь
Цитата Сообщение от gromo Посмотреть сообщение
доку читал хоть?
Подсказка: посмотри описание третьего конструктора, где вторым параметром принимается ParsingMode, и каково его значение по умолчанию.
0
6 / 6 / 1
Регистрация: 18.12.2013
Сообщений: 114
13.12.2014, 18:01  [ТС] 7
gromo, читал доку, проверял, по умолчанию стоит TolerantMode, пробовал и StrictMode, но результат один и тот же...
0
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
13.12.2014, 18:05 8
Цитата Сообщение от Lex999 Посмотреть сообщение
Превращаю в QByteArray
C++ (Qt)
1
2
3
QString url = "ws://localhost:9000/api/ws/bv code";
QString test_url = QString::fromLocal8Bit(myUrl.toEncoded());//стает ws://localhost:9000/api/ws/bv%20code
qDebug() <<QUrl(test_url);//стает ws://localhost:9000/api/ws/bv code
Когда в qDebug() выводишь, зачем ты еще раз оборачиваешь test_url в QUrl?
In TolerantMode, the parser corrects the following invalid input:
Spaces and "%20": If an encoded URL contains a space, this will be replaced with "%20". If a decoded URL contains "%20", this will be replaced with a single space before the URL is parsed.
0
6 / 6 / 1
Регистрация: 18.12.2013
Сообщений: 114
15.12.2014, 18:18  [ТС] 9
gromo, чтоб было понятнее
вот код открытия соединения с сервером
C++ (Qt)
1
2
3
4
5
void WebSockClient::run_connection(const QUrl &url)
{
     qDebug() << "Connecting..."<< url;
     m_webSocket.open(url);
}
Вот код где я открываю соединение:
C++ (Qt)
1
2
3
4
5
6
7
8
void launcher_manager::startDepositConnection()
{
       //cash version V(UKR)-03-MW ID003-04V003-23 14MAR12
    QString url_test = "ws://192.168.1.105:9000/api/ws/"+ cash_version;
 
    depositClient->run_connection(QUrl(url_test, QUrl::ToleranMode));
 
 }
Вот и все, по идее должно работать, но нет
0
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
15.12.2014, 21:19 10
Lex999, проверь что выдает isValid() на твоем url. Вроде бы все правильно делаешь...
0
6 / 6 / 1
Регистрация: 18.12.2013
Сообщений: 114
16.12.2014, 10:41  [ТС] 11
gromo, Выдает true.
0
16.12.2014, 10:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.12.2014, 10:41
Помогаю со студенческими работами здесь

Cтрока: Как сконвертировать QString в const QString?
Доброго времени суток. Как сконвертировать QString в const QString

Поиск в QMap<QString, QString> по регекспу
Есть QMap&lt;QString, QString&gt;. Есть некоторое регулярное выражение, по которому требуется найти все...

VK, QUrl, QUrlQuery
Здравствуйте. Как можно с QUrl получить значение access_token? Погуглив, то понял, что нужно...

не работает QURL
Здравствуйте у меня такая проблема не работает qurl на хостинге на денвере все нормально работает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru