Funnily enough I just made a function that uses HTTP sockets to get raw HTML from sites, here is the code I used:
CODE
char* cDomain = "www.sa-mp.com";
char* cFile = "index.php";
char* cResult = (char*) malloc(10000*sizeof(char));
for(int i=0;i<10000;i++) cResult[i] = '\0';
SOCKET sSocket;
if((sSocket = socket(AF_INET,SOCK_STREAM,0)) != INVALID_SOCKET)
{
sockaddr_in sockAddr;
sockAddr.sin_family = AF_INET;
sockAddr.sin_port = htons(80);
#if defined WIN32
HOSTENT *hResolve;
#else
struct hostent *hResolve;
#endif
if((hResolve = gethostbyname(cDomain)) != NULL)
{
sockAddr.sin_addr.s_addr = *((unsigned long*)hResolve->h_addr);
if(!(connect(sSocket,(struct sockaddr*)&sockAddr,sizeof(sockAddr))))
{
sprintf(cResult,"GET /%s HTTP/1.1\r\nHost: %s\r\n\r\n",cFile,cDomain);
send(sSocket,cResult,(int)strlen(cResult),0);
recv(sSocket,cResult,10000*sizeof(char),0);
recv(sSocket,cResult,10000*sizeof(char),0);
amx_SetString(cPtr,cResult,false,false,params[4]);
closesocket(sSocket);
free(cResult);
return true;
}
else printf("Could not connect to Domain");
}
else printf("Invalid Domain");
}
else printf("Invalid Socket");
closesocket(sSocket);
free(cResult);
You may have to adjust the HTTP Heading Packet but it works ok from my testing.