Re[2]: Вопрос по функции InternetReadFile (WinInet class)
От: trustno1  
Дата: 19.02.04 20:37
Оценка:
Здравствуйте, Flamer, Вы писали:

блин, я на этой инициализации уже столько раз...

Еще такой вопрос: пытаюсь подконнетиться к серверу через https,
но HttpSendRequest не проходит и GetLastError выдает ошибку 12045,
описания которой нет в WinError.h.
Как узнать что это за ошибка?
В логах веб-сервера видно, что запрос туда не доходит.

вот код:
        HINTERNET hInet;
        hInet = InternetOpen("My Applic",0,NULL,NULL,0);
        if (hInet)
        {
            HINTERNET hInetSess=InternetConnect(hInet, m_server, 443, NULL, NULL,
                                                INTERNET_SERVICE_HTTP, INTERNET_FLAG_EXISTING_CONNECT, 1);
            if (hInetSess)
            {
                HINTERNET hReq=HttpOpenRequest(hInetSess,"GET", 
                                               "manual/index.html","HTTP/1.1",
                                               NULL, NULL,
                                               INTERNET_FLAG_IGNORE_CERT_CN_INVALID|
                                               INTERNET_FLAG_IGNORE_CERT_DATE_INVALID|
                                               INTERNET_FLAG_SECURE,                                               
                                               2);
                ASSERT(hReq);
                BOOL res=HttpSendRequest(hReq, NULL,0,NULL,0);
                if (res)
                {
                    char buf[151]={0};
                              DWORD ir=150;
                    DWORD br;
                    while (TRUE)
                    {
                        InternetReadFile(hReq, buf, ir, &br);
                        if (ir==br)
                        {
                            m_output += buf;
                            UpdateData(FALSE);
                        }
                        else
                        {
                            for (short i=0; i<br; i++)
                            {
                                m_output += buf[i];
                            }
                            UpdateData(FALSE);
                            break;
                        }                    
                    }
                } 
                else 
                {
                    DWORD err;
                    err = GetLastError();
                    CString fmt;
                    fmt.Format("error code: %d",err);
                    AfxMessageBox(fmt);
                }

                InternetCloseHandle(hReq);
            } else {AfxMessageBox("Couldn't create HttpOpenRequest");}

            InternetCloseHandle(hInetSess);
        } else {AfxMessageBox("Couldn't create InernetConnect");}
        

        InternetCloseHandle(hInet);
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.