bool Requests::get(char *host, char *params, char *out, size_t outSz) {
sockaddr_in SocketAddress;
hostent *hent = gethostbyname(host);
SocketAddress.sin_addr.s_addr = *((unsigned long*)hent->h_addr);
SocketAddress.sin_family = AF_INET;
SocketAddress.sin_port = htons(80);
int sock = socket(AF_INET, SOCK_STREAM, 0);
if (connect(sock, (struct sockaddr *)&SocketAddress, sizeof(SocketAddress)) != 0) {
return false;
}
char rqBuffer[255] = { 0 };
strcpy(rqBuffer, "GET /");
strcat(rqBuffer, (const char *)params);
strcat(rqBuffer, " HTTP/1.0
HOST: ");
strcat(rqBuffer, host);
strcat(rqBuffer, "
");
send(sock, rqBuffer, 255, 0);
recv(sock, out, outSz, 0);
socketclose(sock);
return true;
}
char *Requests::removeRequestHeader(char *request) {
char *httpbody = strstr(request, "
");
if (httpbody) httpbody += 4;
return httpbody;
}
char reqRt[2048];
char request[255];
Requests::get("myserver.com", "Version.txt", reqRt, sizeof(reqRt));
char *reqNoHeader = Requests::removeRequestHeader(reqRt);
ShowDialog(reqNoHeader);
bool Requests::get(char *host, char *params, char *out, size_t outSz) {
sockaddr_in SocketAddress;
hostent *hent = gethostbyname(host);
SocketAddress.sin_addr.s_addr = *((unsigned long*)hent->h_addr);
SocketAddress.sin_family = AF_INET;
SocketAddress.sin_port = htons(80);
int sock = socket(AF_INET, SOCK_STREAM, 0);
if (connect(sock, (struct sockaddr *)&SocketAddress, sizeof(SocketAddress)) != 0) {
return false;
}
char rqBuffer[255] = { 0 };
strcpy(rqBuffer, "GET /");
strcat(rqBuffer, (const char *)params);
strcat(rqBuffer, " HTTP/1.0
HOST: ");
strcat(rqBuffer, host);
strcat(rqBuffer, "
");
send(sock, rqBuffer, 255, 0);
recv(sock, out, outSz, 0);
socketclose(sock);
return true;
}
char *Requests::removeRequestHeader(char *request) {
char *httpbody = strstr(request, "
");
if (httpbody) httpbody += 4;
return httpbody;
}
char reqRt[2048];
char request[255];
Requests::get("myserver.com", "Version.txt", reqRt, sizeof(reqRt));
char *reqNoHeader = Requests::removeRequestHeader(reqRt);
ShowDialog(reqNoHeader);
Copyright © 2024, NextGenUpdate.
All Rights Reserved.