Суть приложения находится в том что оно должно проверять есть ли обновления для клиента (сообщения и там ещё штуки некоторые). С начала поступает 1 запрос на сайт, а позже при вызове функции возвращаются предыдущие данные и всё на этом.
КОД:
#include <string>
#include <iostrim>
#include <Windows.h>
#include <wininet.h>
#pragma comment(lib, "wininet")
using namespace std;
string getRequest(string url, string target, string hwid){
HINTERNET hInternet, hConnect, hRequest;
hInternet = InternetOpen(TEXT("TERNICK OWL"), INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
if (hInternet != NULL) {
hConnect = InternetConnect(hInternet, TEXT(url.c_str()), INTERNET_DEFAULT_HTTP_PORT, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 1u);
if (hConnect != NULL) {
hRequest = HttpOpenRequest(hConnect, TEXT("GET"), TEXT(("index.php?target=" + target + "&hwid=" + hwid).c_str()), NULL, NULL, NULL, INTERNET_FLAG_KEEP_CONNECTION, 1);
if (hRequest != NULL) {
BOOL bSend = HttpSendRequest(hRequest, NULL, 0, NULL, 0);
if (bSend) {
DWORD dwSize = 0;
string result;
char *buff = new char[256];
do
{
memset(buff, 0, 256);
InternetReadFile(hRequest, buff, sizeof(buff)-1, &dwSize);
result.append(buff, dwSize);
} while (dwSize != 0);
delete[] buff;
InternetCloseHandle(hRequest);
InternetCloseHandle(hConnect);
InternetCloseHandle(hInternet);
return result;
}
else {
InternetCloseHandle(hRequest);
InternetCloseHandle(hConnect);
InternetCloseHandle(hInternet);
}
}
else {
InternetCloseHandle(hRequest);
InternetCloseHandle(hConnect);
InternetCloseHandle(hInternet);
}
}
else {
InternetCloseHandle(hConnect);
InternetCloseHandle(hInternet);
}
}
else {
InternetCloseHandle(hInternet);
}
return "";
}
int main(){
while (TRUE) {
response = getRequest(site, "getNums", getHwid());
cout << getRequest(site, "getNums", getHwid()) << endl;
}
}