Russian Qt Forum

Qt => Работа с сетью => Тема начата: INZER от Июль 26, 2012, 09:20



Название: [РЕШЕНО] Проблема с POST
Отправлено: INZER от Июль 26, 2012, 09:20
День добрый,
Реализую протокол отправки СМС сообщений посредством HTTP
Реализовал запрос сессии и запрос баланса (методом GET - все работает), но при отправке СМС необходимо использовать метод POST, помогите в чем косяк?

Код отправки СМС:
Код:
QHttp * httpSendSMS;
.....
void MainWindow::httpSMS()
{
    httpSendSMS->setHost("rest.devinotele.com");
    QByteArray postData = "sessionId=" + sessionID.toUtf8() + "&destinationAddress=792002627XX" + "&sourceAddress=PARMAN" + "&data=testdata";
    httpSendSMS->post("/Sms/Send", postData);
    qDebug () << postData;
}

qDebug () выдает:
"sessionId=5DF3EE86783E4C4F97DC849FB1F04BBA4XXX&destinationAddress=792002627XX&sourceAddress=PARMAN&data=testdata"

sessionId подставляется верный, однако приходит ответ, что sessionId не может быть пустым:

"{"Code":1,"Desc":"SessionID can\u0027t be empty or null\r\nParameter name: sessionId"}"


По всей видимости, параметры я передаю как-то неверно.
Помогите, где я накосячил?
Заранее спасибо.


Название: Re: Проблема с POST
Отправлено: DLobanov от Июль 26, 2012, 09:36
Возможно на сервере стоит session.use_trans_sid=1
Эта опция не позволяет передавать PHPSESSION в URL


Название: Re: Проблема с POST
Отправлено: mutineer от Июль 26, 2012, 10:20
Косяк в том, что QHttp невероятно устарел и надо юзать QNetworkAccessManager. Если же тебе надо юзать древний Qt, то об этом стоит писать в топике


Название: Re: Проблема с POST
Отправлено: INZER от Июль 26, 2012, 10:28
Ну что .. буду продолжать грызть гранит )
У кого-нибудь есть пример реализации QNetworkAccessManager + POST ?


Название: Re: Проблема с POST
Отправлено: mutineer от Июль 26, 2012, 10:36
Ну что .. буду продолжать грызть гранит )
У кого-нибудь есть пример реализации QNetworkAccessManager + POST ?

В документацию не заглядывал?


Название: Re: Проблема с POST
Отправлено: INZER от Июль 26, 2012, 11:13
СМС летают, птички поют )
Разобрался, всем спасибо!