Здравствуйте, 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);