MCPcopy Create free account
hub / github.com/NoMercy-ac/NoMercy / WebStatusCheck

Method WebStatusCheck

Source/Client/NM_Engine/WinInetAPI.cpp:41–79  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

39}
40
41bool CInternetAPI::WebStatusCheck(const std::string & szAddress, LPDWORD pdwWebStat)
42{
43 DWORD uiStatCode = 0;
44 DWORD statCodeLen = sizeof(DWORD);
45
46 auto hInternet = g_winapiApiTable->InternetOpenA(m_szWebAgentName.c_str(), INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, NULL);
47 if (!hInternet)
48 {
49 DEBUG_LOG(LL_ERR, "InternetOpenA fail. Error: %u", g_winapiApiTable->GetLastError());
50
51 return false;
52 }
53
54 auto hRequestHandle = g_winapiApiTable->InternetOpenUrlA(hInternet, szAddress.c_str(), NULL, NULL, INTERNET_FLAG_RELOAD | INTERNET_FLAG_DONT_CACHE, NULL);
55 if (!hRequestHandle)
56 {
57 DEBUG_LOG(LL_ERR, "InternetOpenUrlA fail. Error: %u", g_winapiApiTable->GetLastError());
58
59 g_winapiApiTable->InternetCloseHandle(hInternet);
60 return false;
61 }
62
63 auto hQuery = g_winapiApiTable->HttpQueryInfoA(hRequestHandle, HTTP_QUERY_STATUS_CODE | HTTP_QUERY_FLAG_NUMBER, &uiStatCode, &statCodeLen, NULL);
64 if (!hQuery)
65 {
66 DEBUG_LOG(LL_ERR, "HttpQueryInfoA fail. Error: %u", g_winapiApiTable->GetLastError());
67
68 g_winapiApiTable->InternetCloseHandle(hInternet);
69 g_winapiApiTable->InternetCloseHandle(hRequestHandle);
70 return false;
71 }
72
73 g_winapiApiTable->InternetCloseHandle(hInternet);
74 g_winapiApiTable->InternetCloseHandle(hRequestHandle);
75
76 if (pdwWebStat)
77 *pdwWebStat = uiStatCode;
78 return true;
79}
80
81bool CInternetAPI::IsManipulatedConnection()
82{

Callers 1

RemoteCheckRoutineMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected