crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Как через QNetworkRequest передать на сервер (PHP) строку без изменений?
Trisch
  опции профиля:
сообщение 26.2.2015, 16:17
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 379
Регистрация: 30.1.2012
Из: Запорожье
Пользователь №: 3169

Спасибо сказали: 24 раз(а)




Репутация:   0  


Есть строка в которой могут будить всевозможные символы.
при передаче строки на сервер:
void Network::sendData(const QByteArray &u) {
    QNetworkRequest request;
    request.setUrl(QUrl("http://test.ru/test.php"));
    request.setRawHeader("Test", "My Application");
    QUrlQuery postData;
    postData.addQueryItem("test", u);
    request.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/x-www-form-urlencoded"));
    pManager->post(request, postData.toString(QUrl::FullyEncoded).toUtf8());
}


некоторые символы пропадают или меняются, например "+" становится " ".
Как это можно исправить?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
wiz29
  опции профиля:
сообщение 26.2.2015, 17:42
Сообщение #2


Старейший участник
****

Группа: Участник
Сообщений: 600
Регистрация: 7.7.2010
Из: Санкт-Петербург
Пользователь №: 1866

Спасибо сказали: 94 раз(а)




Репутация:   12  


не совсем понятен контекст, на другом конце чей код? Если ваш, то его тоже стоит показать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Trisch
  опции профиля:
сообщение 27.2.2015, 14:00
Сообщение #3


Активный участник
***

Группа: Участник
Сообщений: 379
Регистрация: 30.1.2012
Из: Запорожье
Пользователь №: 3169

Спасибо сказали: 24 раз(а)




Репутация:   0  


да, тоже мой.

В простейшем случае:
<?php
function test($test) {
   echo $test;
}

test($_POST["test"]);
?>
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
marsel
  опции профиля:
сообщение 4.3.2015, 23:36
Сообщение #4


Студент
*

Группа: Новичок
Сообщений: 15
Регистрация: 29.1.2013
Пользователь №: 3693

Спасибо сказали: 3 раз(а)




Репутация:   0  


В доках всё так и написано http://doc.qt.io/qt-5/qurlquery.html#addQueryItem

Note: This method does not treat spaces (ASCII 0x20) and plus ("+") signs as the same, like HTML forms do. If you need spaces to be represented as plus signs, use actual plus signs.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.3.2024, 18:07