Есть вот такой код :
int Request (const char* lpServer,const char* lpReqString,char* szData,int DataSize)
{
HINTERNET hInternet;
HINTERNET hConnect;
HINTERNET hRequest;
DWORD dwBytesRead=0;
BOOL bSend=FALSE;
BOOL bRead=FALSE;
hInternet = InternetOpenA("Open",INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,INTERNET_FLAG_DONT_CACHE);
if (hInternet == NULL) goto end;
hConnect = InternetConnectA(hInternet,lpServer,INTERNET_DEFAULT_HTTP_PORT,NULL,NULL,INTERNET_SERVICE_HTTP,0,1u);
if (hConnect == NULL) goto end;
hRequest = HttpOpenRequestA(hConnect,"GET",lpReqString,NULL,NULL,0,INTERNET_FLAG_KEEP_CONNECTION,1);
if (hRequest == NULL) goto end;
bSend = HttpSendRequestA(hRequest,NULL,0,NULL,0);
if (bSend==FALSE) goto end;
for(;;)
{
bRead = InternetReadFile(hRequest,szData,DataSize-1,&dwBytesRead);
if (bRead == FALSE || dwBytesRead == 0)
break;
szData[dwBytesRead]=0;
}
bRead = TRUE;
end:
DWORD error = GetLastError();
InternetCloseHandle(hInternet);
InternetCloseHandle(hConnect);
InternetCloseHandle(hRequest);
return bRead;
}
Вызывается так :
char szData[256] = {0};
bool bReq = Request("www.forum.ru","forum/viewtopic.php?id=30539",szData,sizeof(szData));
HttpSendRequestA возвращает ошибку с кодом 0х2 - FILE_NOT_FOUND,но URL www.forum.ru/forum/viewtopic.php?id=30539 100%рабочий.
В чём может быть засада?