Одесса: 6°С (вода 9°С)
Киев: 1°С
Львов: -1°С

Тема: SSL авторизация

Ответить в теме
Показано с 1 по 5 из 5
  1. Вверх #1
    Постоялец форума Аватар для sleep-walker
    Пол
    Мужской
    Сообщений
    1,334
    Репутация
    139

    По умолчанию SSL авторизация

    Всем привет. Нашлось у меня время и решил попробовать поработать с SSL.
    Пишу на C++. Использую WinInet MFC. Для примера решил взять stats.tenet.ua.
    Сперва сниффером глянул, как происходит авторизация при работе из браузера. Затем почитал MSDN и написал вот такой код:
    Код:
    #define _AFXDLL
    #include <iostream>
    #include <string>
    #include <afxinet.h>
    using namespace std;
    
    void main()
    {
    	CInternetSession is("SSL test");
    	CHttpConnection* httpConnection = NULL;
    	httpConnection = is.GetHttpConnection("stats.tenet.ua",INTERNET_FLAG_SECURE,443, "name", "password");
    	char tmpBuf[1000];
    	CString accept;
    	if (httpConnection!=NULL)
    	{
    		CHttpFile* httpFile = NULL;
    		httpFile = httpConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST, "/portal/wwv_flow.accept",0,1,0,0,INTERNET_FLAG_SECURE|INTERNET_FLAG_KEEP_CONNECTION|INTERNET_FLAG_NO_AUTO_REDIRECT);
    		CString strHeaders =_T("Accept-Encoding:identity\r\nHost:stats.tenet.ua\r\nContent-type:application/x-www-form-urlencoded\r\n");
    		CString formData = _T("p_t01=name&p_t02=password&p_request=P1_PASSWORD");
    		httpFile->SendRequest(strHeaders, (LPVOID)(LPCTSTR)formData, formData.GetLength());
    		CString query;
    		httpFile->QueryInfo(HTTP_QUERY_RAW_HEADERS_CRLF,query,NULL);
    		cout<<query;
    	}
    	is.Close();
    В ответ от сервера нужно получить location с новой ссылкой, соответственно код ответа - 302. Но не выходит. Получаю код 200, типа все ок и вот такой html код
    Код:
    <div class="ErrorPageMessage">Expecting p_company or wwv_flow_company cookie to contain security group id of application owner.</div><table summary=""><tr><td><img src="/i/error.gif" border="0" /></td>
    <td>Error</td>
    <td>ERR-7621 Could not determine workspace for application (:) on application accept.
    </td></tr>
    <tr><td><a href="javascript:window.history.go(-1)">OK</a></td>
    <td><br /></td></tr></table>
    <script type="text/javascript">
    <!-- 
    
    //-->
    </script>
    По моим предположениям - не хватает какой-то информации для авторизации.
    Надеюсь на вашу помощь, так как уже не могу придумать решения данной проблемы.
    Последний раз редактировалось sleep-walker; 26.07.2009 в 20:10.


  2. Вверх #2
    Постоялец форума Аватар для Пилигрим
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    31
    Сообщений
    1,215
    Репутация
    134
    ээ дык "русским" же языком написано, что "Expecting p_company or wwv_flow_company cookie".

    Клиент, который используешь, кукисы поддерживает? По умолчанию их использование в клиенте разрешено?

  3. Вверх #3
    Постоялец форума Аватар для sleep-walker
    Пол
    Мужской
    Сообщений
    1,334
    Репутация
    139
    Пилигрим, это понятно. Английский я знаю)) А вот как исправить ошибку - вариантов нет.

  4. Вверх #4
    Выкинуть C++, взять gcc-c++ и библиотечку curl'а?

  5. Вверх #5
    Постоялец форума Аватар для sleep-walker
    Пол
    Мужской
    Сообщений
    1,334
    Репутация
    139
    Цитата Сообщение от andreyka Посмотреть сообщение
    Выкинуть C++, взять gcc-c++ и библиотечку curl'а?
    Это не решение вопроса в данном случае) Все же интересно разобраться.


Ответить в теме

Похожие темы

  1. поддержа httpS/SSL
    от roks в разделе Книга жалоб и предложений
    Ответов: 3
    Последнее сообщение: 14.01.2007, 22:02

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения