Russian Qt Forum
Май 07, 2024, 23:33 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QSslSocket и POST  (Прочитано 6554 раз)
qtuser
Гость
« : Сентябрь 26, 2007, 14:07 »

Делаю коннект к серверу по https с помощью QSslSocket, коннект проходит удачно, после необходимо отправить POST запрос для логина, как я понимаю делается с помощью socket.write("string"). Подскажите как сформироваться корректный POST запрос.
P.S. Все происходит без участия QHttp.
Записан
Metrix
Гость
« Ответ #1 : Сентябрь 29, 2007, 11:38 »

Я бы конечно посоветовал, подключить QSslSocket к QHttp, так будет проще сделать POST запрос, да и ответ парсить не надо будет...
   А вообще как я понял делается это по анологии с GET запросом. Так написано в доке и могу пердположить если GET заменить на POST то будет то что тебе нужно.
Код:
int main(int argc, char **argv)
{
    QCoreApplication app(argc, argv);

    QSslSocket socket;
    socket.connectToHostEncrypted("www.paypal.com", 443);
    socket.write("GET / HTTP/1.0\r\n\r\n");
    while (socket.waitForReadyRead())
        qDebug() << socket.readAll().data();
}

Первый слэш после GET - будет как раз строкой запроса (path+query).
Записан
qtuser
Гость
« Ответ #2 : Сентябрь 29, 2007, 18:24 »

Собственно, этот пример я видел, так я пытался делать, но от сервера никакого ответа не приходило. Смотрел пример "Secure Socket Client", идущий с библиотекой QT, в нем реализован коннект к серверу, показ информации о сертификате и возможность отправлять данные на сервер (есть lineEdit, в котором можно набрать запрос и по кнопке "send" происходит socket.write(lineEdit.toUtf8() + "\r\n")). В итоге так и не получилось сформировать POST запрос, никких реакций от сервера не было. Отсюда главная проблема - корректый POST запрос. Как его сформировать, именно POST с передачей параметров формы? Кто-нибудь пробовал, разобрался и получилось ли?
Записан
Вячеслав
Гость
« Ответ #3 : Сентябрь 29, 2007, 21:39 »

А сюда посмотреть ? http://www.w3.org/Protocols/HTTP/1.1/rfc2616bis/draft-lafon-rfc2616bis-03.html#POST
http://www.javaportal.ru/java/articles/java_http_web/article03.html
« Последнее редактирование: Сентябрь 29, 2007, 21:47 от Вячеслав » Записан
qtuser
Гость
« Ответ #4 : Сентябрь 30, 2007, 10:25 »

Читал я про POST запрос и пытался формировать его по похожей документации, но никаких реакций от сервера не было. Даже не приходило "400 Bad Request". Попробую более подробно изучть вопрос, возможно, разберусь в чем проблемы.
Записан
Вячеслав
Гость
« Ответ #5 : Сентябрь 30, 2007, 17:11 »

А проксю поставить и посмотреть как оно выглядит из осла\оперы\лисы  ?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.044 секунд. Запросов: 20.