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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QSslSocket и авторизация по HTTPS  (Прочитано 7326 раз)
RedDog
Гость
« : Август 23, 2010, 10:59 »

Добрый день.
Необходимо авторизироваться в почтовом сервисе через WEB интерфейс, пытаюсь это сделать через QSslSocket.
отправляю запрос вида:
Код:
POST https://somehost.com HTTP/1.1
Host: somehost.com
User-Agent: C_Client
Accept: text/html
Accept-Language: ru,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Content-Length: 40

POSTDATA: login=ComeAccount@hotmail.com&passwd=SomePassword
в ответ приходит:
Цитировать
HTTP/1.1 200 OK
Cache-Control: no-cache
Connection: close
Date: Mon, 23 Aug 2010 07:48:40 GMT
Pragma: no-cache
Content-Type: text/html; charset=utf-8
Expires: Mon, 23 Aug 2010 07:47:40 GMT
Server: Microsoft-IIS/6.0
PPServer: PPV: 30 H: BAYIDSLGN1Q10 V: 0
X-Powered-By: ASP.NET
P3P: CP="DSP CUR OTPi IND OTRi ONL FIN"
Set-Cookie: MSPRequ=lt=1282549720&co=1&id=N; path=/;version=1
Set-Cookie: MSPOK=$uuid-8819596a-376a-42cb-914e-194b9198a6c5; domain=somehost.com;path=/;version=1
X-Frame-Options: deny
Content-Encoding: gzip
Vary: Accept-Encoding
Transfer-Encoding: chunked

a
�7c0
�Z[s��~�L��
�EɡH�/"ْ([�i�%_��h�������E�h&v�����N^�ئ]�u�D� �?��@)S�3�*2����s�sη�,�,,�*q��ݲ4���Vn�����ҧ��R�$&�\Bʰ��ń�Ge�M$�o5-�c����#nAD +��Wq���
��@�^uUs��]i�\Z��8���y�mP>.ƥ̢���b�4����`PWXYn��,��bԠ�Y G-�- ��E�E��" ��J�4�D���G�ܢ�B^H�,װGP�%�,0I^!�4��n% �VB�ͤ��E1��Z����CǬ�K4�x��E�"��-��z%��5��   ��n�M*��/����,��Kl��p=�S������;��ZN���6�,Tp�l�F��3bZdbFUu$��K�����.#C��c���"
�L~���oV:��ڝ�/����X���ֲ
>G۸=��?Fm��V���Ti���GpI](��.Šb�,�Pu

как это понять?
Или может я вообще не туда полез?
PS: пока мучаю пример из поставки QT "securesocketclient"
Записан
merke
Гость
« Ответ #1 : Август 23, 2010, 11:28 »

Ты правильно полез=) Тебе пришел ответ на твой запрос, определяй кодировку и парси ответ.
Записан
RedDog
Гость
« Ответ #2 : Август 23, 2010, 11:29 »

Ты правильно полез=) Тебе пришел ответ на твой запрос, определяй кодировку и парси ответ.
Да в том то и дело, что кодировка какая то непонятная... и вообще, кодировка ли это... походу двоичные данные
Записан
merke
Гость
« Ответ #3 : Август 23, 2010, 11:38 »

Для того тебе и присылают заголовок, если пройтись по строчкам находишь: Content-Type: text/html; charset=utf-8
Записан
BRE
Гость
« Ответ #4 : Август 23, 2010, 11:40 »

Для того тебе и присылают заголовок, если пройтись по строчкам находишь: Content-Type: text/html; charset=utf-8
И как мне кажется на это тоже стоит посмотреть:
Content-Encoding: gzip
Записан
RedDog
Гость
« Ответ #5 : Август 23, 2010, 11:41 »

в utf-8 все именно так и выглядит, как написал
а что такое gzip?
Записан
merke
Гость
« Ответ #6 : Август 23, 2010, 11:45 »

Этот заголовок сообщает принимающему информацию браузеру, что ему необходимо осуществить декомпрессию данных и затем обрабатывать как обычно. Также контент может быть передан стороннему приложению основываясь на информации, находящейся в заголовке Content-type.
Записан
merke
Гость
« Ответ #7 : Август 23, 2010, 11:49 »

Вот вообще простой пример использования QSslSocket

Код:
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();
}
Записан
merke
Гость
« Ответ #8 : Август 23, 2010, 11:56 »

Почитай ещё здесь http://forum.qtfr.org/viewtopic.php?id=3388  Подмигивающий
Записан
merke
Гость
« Ответ #9 : Август 23, 2010, 12:06 »

Ну и напоследок: http://www.qtcentre.org/threads/16472-QNetworkAccessManager-with-Accept-Encoding-gzip
Записан
RedDog
Гость
« Ответ #10 : Август 23, 2010, 13:10 »

Спасибо за просвещение!
С ответом прояснилось, а вот с залогиниванием никак. В ответе приходит та же страница логина, т.е. не входит.
Куда смотреть?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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