LINUX.ORG.RU

QHttp и передача данных по HTTPS


0

0

Запарился я уже... Есть скрипт провайдера, который отображает текущую статистику. Есть форма ввода логина и пароля, через которую юзер попадает в эту статистику. Всё это делается по SSL. Я хочу залогинится туда своим клиентом и получить статистику. Для этого беру QSslSocket и делаю следующее:

socket->connectToHost("somehost.ru", 443);

Сокет коннектится, всё ОК. Дальше, когда он связался с хостом делаю такое:

my_http->setHost("somehost.ru", 443);
my_http->setSocket(socket);
QHttpRequestHeader header("POST", "/index.spl");
my_http->request(header, "login=somelogin&p=somepassword&src=58b28b0351e2126466ade74ce709cad
9b34e704f&action=login");

И из этого получаю ту же самую форму. Это значит, что данные от меня к somehost не пришли. Когда использую простенькую HTML-форму - всё проходит и логин осуществляется.
Я пробовал у себя проверять, правда без SSL - работает, клиент оправляет данные и получает ожидаемый ответ.

Что я делаю не так?

★★
Ответ на: комментарий от Davidov

Я же говорю - соорудил у себя простенькую HTML-форму (у себя на диске) и через неё данные отправляются и я логинюсь. Проблема не тут, а где-то в ssl-сокете.

troorl ★★
() автор топика

А откуда в представленном фрагменте кода следует, что используется SSL?

Открывается TCP соединение на порт 443, в который пишутся команды, не соответствующие протоколу SSL. Не удивительно, что это не работает...

anonymous
()
Ответ на: комментарий от anonymous

В QT-solutions есть класс QSslSocket, который реализует ssl-соединение. И с этим проблем нет - я получаю ответ по ssl. Вот только мои данные туда не доходят...

troorl ★★
() автор топика
Ответ на: комментарий от r_asian

А кукисов то и нет =( Только что проверил.

troorl ★★
() автор топика

> Что я делаю не так?

Документацию не так читаеш. Написано же что https не поддерживается в QHttp, но вроде как обещали в qt4 (не проверял).

Esh ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.